基本上我有一個循環(剔,set_caption,screen_fill,event.get(),send_frame_event,翻轉,重複)爲什麼在移動/拖動窗口時,pygame會凍結在pygame.event.get()上?
當我周圍拖動窗口在Windows 7中,循環停止循環,最後我被困在pygame.event.get(),我試圖定義某些事件只爲得到例如得到([pygame.QUIT])無濟於事。
只需調用pygame.event.clear()在拖動/移動窗口時具有相同的凍結效果。
是否有解決方法?
不完整的代碼,而應該是足夠了:
def start(self):
self.running = True
Clock = pygame.time.Clock()
while self.running:
self.p += 25
tickFPS = Clock.tick(self.fps)
pygame.display.set_caption("Press Esc to quit. FPS: %.2f" % (Clock.get_fps()))
self.screen.fill([self.p&0xFF,(255-self.p)&0xFF,255])
self.handleEvents()
self.raiseEvent("updateFrame")
pygame.display.flip()
def handleEvents(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
self.running = False
完整的代碼在:http://pastie.org/private/wm5vqq3f7xe0xlffy1fq
這是把'pygame.event's一會兒真循環中的主體一個很好的做法。 – hjpotter92 2012-04-12 11:08:15
他們實際上是。這樣做沒有區別。除非你的意思是在另一個線程? – 2012-04-12 11:58:07