2018年3月5日 星期一

Pygame超新手常中的陷阱

不曉得是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)

沒有留言:

張貼留言

個人合成作品