메뉴 건너뛰기

OBG

Programming

MoA
조회 수 677 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

8_main.png

 

1. update_hud_text() 함수

 

 

def update_hud_text():
    font = pygame.font.SysFont('calibri', 14)
    textpos_base = pygame.Rect((0, 0), (64, 12))

    seeds_text = font.render(str(farmer.seeds), 1, (0, 0, 0))
    seeds_textpos = pygame.Rect((0, 0), (seeds_text.get_width(), seeds_text.get_height()))
    seeds_textpos.centerx = textpos_base.move(14, 85).centerx
    seeds_textpos.centery = textpos_base.move(14, 85).centery
    hud.blit(seeds_text, seeds_textpos)

    wheat_text = font.render(str(farmer.wheat), 1, (0, 0, 0))
    wheat_textpos = pygame.Rect((0, 0), (wheat_text.get_width(), wheat_text.get_height()))
    wheat_textpos.centerx = textpos_base.move(14 + 82, 85).centerx
    wheat_textpos.centery = textpos_base.move(14 + 82, 85).centery
    hud.blit(wheat_text, wheat_textpos)

    water_text = font.render(str(farmer.water) + "/" + str(farmer.water_max), 1, (0, 0, 0))
    water_textpos = pygame.Rect((0, 0), (water_text.get_width(), water_text.get_height()))
    water_textpos.centerx = textpos_base.move(14 + 82*2, 85).centerx
    water_textpos.centery = textpos_base.move(14 + 82*2, 85).centery
    hud.blit(water_text, water_textpos)

    gold_text = font.render(str(farmer.gold), 1, (0, 0, 0))
    gold_textpos = pygame.Rect((0, 0), (gold_text.get_width(), gold_text.get_height()))
    gold_textpos.centerx = textpos_base.move(14 + 82*3, 85).centerx
    gold_textpos.centery = textpos_base.move(14 + 82*3, 85).centery
    hud.blit(gold_text, gold_textpos)

 

 

정보를 표시하기 위한 텍스트를 추가하는 부분이다. textpos_base는 텍스트를 넣을 사각형을 정의한 변수다. 텍스트는 가로 64px, 세로 12px의 사각형안에 들어간다. 그리고 텍스트의 위치를 잡아주는 부분이 중요하다. 씨앗 개수를 표시해 주는 텍스트는 다음과 같이 그려진다.

 

1. seeds_text에 폰트를 그린다.

2. 이 폰트에 대한 Rect 변수를 seeds_textpos에 저장한다.

3. textpos_base 변수를 14,85만큼 이동 후 이것의 센터와 seeds_textpos의 센터를 맞춰준다. (가운데 정렬)

4. seeds_textpos 위치에 seeds_text를 hud Surface에 그린다.

 

seeds_textpos 변수의 위치는 hud Surface 상의 좌표임에 유의하자. (화면상의 좌표가 아니다) 나머지 세 개의 hud 텍스트도 동일하게 그리면 된다.

 

 

2. while문 수정

 

 

# HUD 업데이트
        screen.blit(hud, (150, 520))
        hud.blit(hudimage, (0, 0))
        allhudsprites.draw(hud)
        update_hud_text()


while문의 # HUD 업데이트 부분에 위 함수를 호출 하는 부분을 추가하면 된다.

 

 

 

 

 

 

 

 

 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Tool/etc Programming 게시판 관련 2 MoA 2014.11.01 1737
207 C/C++ 고수가 절대 알려주지 않는 C/C++ 팁 너울 2011.09.23 364
206 Site 검색엔진 개발자 그룹 MoA 2013.08.30 285
205 Site 개발자를 위한 각 기업 오픈소스 공유 사이트 (주로 모바일) Naya 2012.08.02 683
204 Site 개발에 도움되는 사이트 (초보 개발자 꿀팁) OBG 2023.01.28 97
203 Deeplearning 강화학습 학습 관련 정리 OBG 2022.08.10 117
202 JAVA/Android XML 파싱하기 MoA 2013.08.06 7066
201 API/MFC WTL 정리 file MoA 2013.12.22 947
200 API/MFC Windows 10 앱 개발(UWP) MoA 2015.10.13 851
199 Library Win32 Socket Class Naya 2012.08.02 926
198 API/MFC Which Font is the default for MFC Dialog Controls MoA 2013.06.12 392
197 Database What's the difference between comma separated joins and join on syntax in MySQL? OBG 2022.06.09 150
196 JAVA/Android What to use instead of “addPreferencesFromResource” in a PreferenceActivity? MoA 2013.06.13 475
195 Tool/etc What does the last “-” (hyphen) mean in options of `bash`? OBG 2021.04.29 154
194 Tool/etc What does set -e mean in a bash script? OBG 2021.04.29 159
193 API/MFC WaitForSingleObject와의 삽질.. MoA 2013.07.28 431
192 Tool/etc Visual Studio Debug Tips MoA 2013.02.19 418
191 API/MFC Visual C++ 시리얼 통신(RS-232) 강좌 (2) 1 MoA 2013.07.28 4464
190 API/MFC Visual C++ 시리얼 통신(RS-232) 강좌 (1) MoA 2013.07.28 6728
189 Graphic Video Preview and Frames Capture MoA 2013.07.28 850
188 API/MFC VC의 소스 파일, sln파일 관리 MoA 2013.07.28 334
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로