Demo - 2 事件檢索
使用pygame.event 處理
pygame.event.get() : 打開門讓所有人進入
pygame.event.wait() : 發(fā)生一個事件再繼續(xù),類似于你盯著看,來一個放一個(一般游戲不會使用,因為游戲往往是動態(tài)運作)
pygame.event.poll() : 一旦調用,會根據實際情形返回一個真實的事件,或者一個"什么都沒有"
pygame.mouse.get_pos() : 得到當前鼠標位置
事件檢索 使用事件集 處理
使用事件獲得鼠標位置,處理鼠標事件
MOUSEMOTION : 事件會在鼠標動作的時候發(fā)生,它有三個參數:
buttons – 一個含有三個數字的元組,三個值分別代表左鍵、中鍵和右鍵萤晴,1就是按下了泣崩。
pos – 位置
rel – 代表了現(xiàn)在距離上次產生鼠標事件時的距離
MOUSEBUTTONDOWN / MOUSEBUTTONUP : # button – 代表了哪個按鍵被操作
pos – 位置
事件過濾
pygame.event.set_blocked(事件名) : eg:pygame.event.set_blocked([KEYDOWN, KEYUP]),如果設置參數None,那么所有的事件都被打開了,
pygame.event.set_allowed() : 與上面相對的,我們使用來設定允許的事件旬陡。
產生事件 eg:
my_event = pygame.event.Event(KEYDOWN, key=K_SPACE, mod=0, unicode=u' ')
或者:
my_event = pygame.event.Event(KEYDOWN, {"key":K_SPACE, "mod":0, "unicode":u' '})
pygame.event.post(my_event)
產生自定義全新事件
CATONKEYBOARD = USEREVENT + 1
my_event = pygame.event.Event(CATONKEYBOARD, message="Bad cat!")
pgame.event.post(my_event)
然后獲得它
for event in pygame.event.get():
if event.type == CATONKEYBOARD:
print event.message