2016-12-26 5 views
1

파이 게임을 알기 위해 천천히 노력하고 있습니다. 솔직히 파이 게임을 쓰려고 노력하고 있습니다. 솔직히 문제를 너무 일찍 예상하지 않았습니다.파이 게임 디스플레이가 응답하지 않습니다.

import pygame 

pygame.init() 

(width, height) = (1000, 700) 
screen = pygame.display.set_mode((width, height)) 
while True: 
    pygame.display.flip() 

를하지만 창이 나타나면 그것이 "응답하지"말한다 : 지금까지가 아니라 무기한가 있어야하는데, 디스플레이를 설정 한 (난 그냥 그것을 밖으로 시도 싶어). 내가 루프를 지우려고했기 때문에 디스플레이가 깜박 거리고 사라질 것입니다. 왜냐하면 programm가 생성 된 후에 immiedately 죽을 것이기 때문에, 같은 "응답하지 않는"창이 나타납니다. pygame 1.9.2와 python 3.5를 사용하고 있습니다. 문제가 아나콘다로 인해 생길 수 있는지 궁금합니다. 아나콘다의 창은 기본값으로 창이 열립니다.

편집 : 지금까지 내가 스파이더에서 열지는 않았지만 단지 파일을 클릭하면 잘 작동한다는 것을 알았습니다. 스파이더에서 작동하는 동안 간단한 실행과 컴파일로 작동하도록하는 방법이 있습니까? 아니면 작동하는 방식일까요?

답변

1

루프에 추가하십시오. 내게는 응답하지 않는 유일한 시간은 X를 클릭하면 파이 게임이 그 일이 언제 무엇을해야하는지 알지 못한다는 사실과 관련이있다.

import sys 

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

이 프로그램은 정기적으로 이벤트를 처리해야하거나 OS는 파이 게임이 추락 생각한다. 그래서'pygame.event.get()'을 추가 할 때 작동합니다. http://stackoverflow.com/documentation/pygame/5110/event-handling#t=201612261318490992061 –

+0

아, 알았습니다. 내 솔루션은 그래도 작동하지만 올바른 설명입니다 – Octo

+0

귀하의 들여 쓰기가 약간 떨어져 있지만 그렇지 않으면 질문에 대답해야합니다. 이 솔루션이 왜 효과가 있는지 설명하는 한 줄 또는 두 줄을 추가 할 수 있다면 좋을 것입니다! 내 링크에는 첫 번째 예제의 세 번째 글 머리 기호와 두 번째 예제의 ** ATTENTION ** 섹션에 대한 간단한 설명이 있습니다. –

1
#Try This 


import pygame 

(width, height) = (1000, 700) 
screen=pygame.display.set_mode((width, height)) 
pygame.display.update() 
while True: 
    for event in pygame.event.get():`` 
     if event.type == pygame.QUIT: 
      pygame.quit() 
      quit()