我想知道是否有使用poll()
或get()
不從隊列中移除事件的方式。pygame的事件隊列
在我的比賽,我檢查輸入在不同的地方(不僅在主迴路),有時我需要在不同的地方,檢查相同的事件,但是當我檢查一次它從隊列中刪除。我嘗試使用peek()
,但問題是我無法獲得與完成的事件對應的密鑰。
while 1:
event = pygame.event.poll()
if event.type == KEYDOWN:
return event.key
else:
pass
#works but removes event from the queue
這可以拿到鑰匙對應的事件,但與peek()
它不能:
pygame.event.peek(pygame.KEYDOWN).key
#dosent work
但是我不能用第一種方法,因爲從隊列中刪除,所以我可以在事件不要檢查程序中其他地方的關鍵事件。
我不明白井queue
是如何工作的,所以也許我只是弄錯但我想在不同的位置的第一個也是唯一我第一次檢查它的工作情況。
我的目標是檢查在不同類別的事件在我的遊戲。
感謝您的幫助
好的,謝謝你的回答,所以我將有一個主循環併發送事件和參數我的其他功能。另外,如何發佈工作?我閱讀文檔,但我無法弄清楚。 – John 2012-01-15 14:02:28