2012-12-17 2 views
1

파이 게임으로 장난을 치고이 오류가 발생했습니다.파이썬 : pygame.QUIT()

CODE :

import sys 
import pygame 
pygame.init() 

size = width, height = 600, 400 

screen = pygame.display.set_mode(size) 

while 1: 
     for event in pygame.event.get(): 
      if event.type == pygame.QUIT: 
       pygame.quit(); sys.exit(); 

ERROR : 난 그냥 while 루프를 설정하려고했다

Traceback (most recent call last): 
    File "C:/Users/Mike Stamets/Desktop/Mygame/Pygame practice/ScreenPractice.py", line 12, in <module> 
    pygame.quit(); sys.exit(); 
SystemExit 

빨간색 X가 다음을 누르면 프로그램이 종료됩니다 있도록. 무슨 일 이니?

+1

IDLE에서 프로그램을 실행하고 있습니까? 일반적으로 예외가 표시되지 않으므로 프로그램이 종료됩니다. – Bakuriu

답변

1

sys.exit()을 호출하면 SystemExit 예외가 발생하므로 정상입니다. 예를 들어, sys.exit(1)에 종료 전화를 변경 시도하고 새 종료 코드가 역 추적에 반영됩니다 : - the documentation시키는 제안 다른 뉴스에서

Traceback (most recent call last): 
    File "C:/.../pygame.py", line 8, in <module> 
    sys.exit(1); 
SystemExit: 1 

, 당신은 아마 pygame.quit() 호출 명시 적으로 할 필요가 없습니다 프로그램은 정상적인 방법으로 종료됩니다.

2

탈출 할 때 부울을 토글합니다. 그런 다음 필요에 따라 다른 위치의 데이터를 깨끗하게 저장할 수 있습니다.

done = False 
while not done: 
    #events 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      done = True 

    draw()