不曉得是Pygame本身的缺陷或bug,Pygame程式執行一段時間,必需要呼叫event一下,否則程式會變成沒有回應的情況,而程式畫面也會暫時停止更新。解決方法,就是確定程式沒互動時,get一下event,但也不是隨時都可以get event,因為當有event要處理時,例如按下滑鼠鍵,不適當處理event的話,可能造成沒處理event,例如可能造成吃鍵現像。一般,如果沒有multi-thread的話,可以在程式sleep前,get event以防止程式沒有回應。
例如,可以用以下delay(second),取代原本的time.sleep(second):
def delay(second):
for event in pygame.event.get():
if event.type == QUIT:
exit()
time.sleep(second)
例如,可以用以下delay(second),取代原本的time.sleep(second):
def delay(second):
for event in pygame.event.get():
if event.type == QUIT:
exit()
time.sleep(second)