2014-11-22 121 views
0

使用pygame.event.wait()來減少事件之間的系統開銷。但我用它的方式似乎過濾了大部分事件。不能把它放在我的程序中的正確位置。Python Pygames等待事件

有人可以請看看並評論我是否使用它錯了嗎?

運行遊戲循環

LEFT = 1

而真:

for event in pygame.event.get(): 

    if event.type == QUIT: 
     pygame.quit() 
     sys.exit() 

    elif event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT: 
     print "You pressed the left mouse button at (%d, %d)" % event.pos 
    elif event.type == pygame.MOUSEBUTTONUP and event.button == LEFT: 
     print "You released the left mouse button at (%d, %d)" % event.pos 
pygame.display.update() 
pygame.event.wait() 

回答

0

pygame.event.wait回報有問題的事件,並從隊列中彈出它,所以你必須與對其進行管理其他:

for event in [pygame.event.wait()]+pygame.event.get(): 

    if event.type == QUIT: 
     pygame.quit() 
     sys.exit() 

    elif event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT: 
     print "You pressed the left mouse button at (%d, %d)" % event.pos 
    elif event.type == pygame.MOUSEBUTTONUP and event.button == LEFT: 
     print "You released the left mouse button at (%d, %d)" % event.pos