inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Cuộc phiêu lưu của PyGame: Khôi phục thế giới Winive!

002. Nấu ăn

질문드립니다

348

ch0rckbean

4 câu hỏi đã được viết

0

안녕하세요.
강의 잘 듣고 있습니다.^^
해당 강의 요리게임 강좌 코드 중 질문이 생겨 질문드립니다/
마지막 줄 Quit 이벤트를 받아오고
코드를 이렇게 작성하는데
왜 pg.sidplay.quit()
이 for문 안에 들어가지 않고 따로 빠지는지 궁금합니다!
   for 이벤트 in pg.event.get():
        if 이벤트.type ==pg.QUIT:
            실행여부=False


pg.display.quit()

GUI pygame

Câu trả lời 3

0

Hojun Lee

1. for안에 있는 pygame.event.get()은 함수를 통해 게임 중간에 발생한 이벤트를 캐치하여 검사하겠다는 얘기입니다. 마우스 클릭, 키보드 클릭 등이요. 

2. if문 안에 들어가는 pygame.QUIT은 종료 이벤트이며 창에서 X 버튼을 클릭하면 나오는 이벤트에요. 그 다음 '실행여부 = False'는 만약 종료 이벤트가 맞다면 메인 루프의 while문이 안돌아가게 하는 것입니다.

3. pg.display.quti()은 메인루프가 종료되면 '메인루프 밖에서' 종료되게 해주는 이벤트입니다.

3번이 궁금하셨던 것 같은데 주로 메인루프가 종료되도 실행되는 코드가 있는 경우 이 방식을 사용합니다. 루프 안에 게임 이벤트만 넣기 위해서도 위 방식을 사용하죠.

큰 차이가 없어서 처음에 사용했던 방식을 그대로 사용하셔도 되요. :)

0

ch0rckbean

잘 이해되었습니다.

감사합니다^^

0

ch0rckbean

아하 그러면

Pg.display.quit() 을 꼭 넣어야 창이 닫히는건가요??

저 코드는 어떤 역할을 하나요?

0

Hojun Lee

안녕하세요. :)

for문 위 아래로 있는 pg.display.update()와 pg.display.quit()은 게임의 '이벤트'가 아니기 때문에 그렇습니다.

pygame 설치오류

0

126

1

입문자 입장에서는

1

55

2

pip install pygame 이 실패합니다

0

206

1

pip install pygame 이 안되요

0

893

1

숫자를 바꿔도 이미지가 바뀌지 않습니다

0

107

2

해결되긴 했는데 이렇게 실행해도 되는지 질문 드립니다.

1

523

2

오류가 나는 이유를 잘 모르겠어서 질문합니다

1

342

3

[26강. Bomb 발사] 영상 잘림 문의

1

129

3

질문] 강의는 42개만 존재 합니다.

1

94

1

(4:00) linting enabled 항목이 보이지 않습니다

0

156

1

마지막 프로젝트 그림 파일들을 올려주실 수는 없을까요?

0

203

1

import pygame에서 계속 오류가 발생해요

0

3581

2

무기 Y포지션 speed 감소

0

295

1

예제 파일 다운 관련

0

551

1

이오류는 어떤건가요?

1

854

1

pyinstaller 오류 2

0

890

1

pyinstaller 오류

0

528

1

Qt 문제

1

653

1

pyqt-sip 오류3

0

481

1

pyqt5-sip 오류2

0

2078

1

PYQT5-sip 에러

0

5423

2

코드_질문드립니다.

0

250

1

pygame으로 만든 게임을 웹에 올리려면 어떻게 하나요?

0

3013

1

시간바와 스코어바 테두리를 없애고 싶어요.

1

261

1