pygame學習筆記(三)事件的處理機制

2021-10-08 16:58:27 字數 2573 閱讀 1473

1.pygame事件

pygame.event.eventtype

本質上是一種分裝後的資料型別(物件)

是pygame的乙個類,表示事件型別

事件型別 只有屬性,

沒有方法 使用者可以自定義新的事件型別

事件型別:

2.python事件佇列

python事件佇列同時僅能儲存128個事件,當佇列滿時,更多事件將被丟棄。

設定事件佇列能夠快取事件的型別。

pygame.event.set_blocked()

控制哪些型別事件不允許被儲存到事件佇列

pygame.event.get_blocked()

測試某個事件型別是否被事件佇列禁止

事件被禁止,返回true,否則返回false

pygame.event.set_allowed()

控制哪些事件型別 允許被儲存到事件佇列

3.常用的事件處理函式

①處理事件:

pygame.event.get()

從事件佇列中獲得事件列表(獲得佇列所有 事件)

for event in pygame.event.get():

#當事件佇列中為退出事件,退出

if event.

type

==pygame.quit:

sys.exit(

)

增加引數,獲得某類或某些類事件:

pygame.event.get(type)

pygame.event.get(typelist)

pygame.event.poll()

從事件佇列獲得乙個事件

while

true

: event=pygame.ebent.poll(

)

事件獲取後,從佇列中刪除。

若事件為空,則返回event.noevent

pygame.event.clear()

從事件佇列 刪除事件,預設刪除所有事件

與pygame.event.get()類似,可以增加引數,從而刪除某類或某些類事件:

pygame.event.clear(type)

pygame.event.cleartypelist)

②生成事件

pygame.event.post(event)

產生乙個事件,並將其放入事件佇列

一般用於防止使用者自定義事件

也可用於放置系統定義事件(如鍵盤,滑鼠)

pygame.event.event(type,dict)

建立乙個給定型別的事件

事件的屬性和值採用字典型別複製,屬性名採用字串形式。

4.滑鼠事件及其型別

①滑鼠移動事件

pygame.event.mousemotion

event.pos

滑鼠當前座標值(x,y),相對於視窗左上角

event.rel

滑鼠相對於上次事件的運動距離(x,y)

event.buttons

滑鼠按鍵狀態(a,b,c),滑鼠鍵按下,對應值為1,否則為0

②滑鼠鍵釋放事件

pygame.event.mousebuttonup

event.pos

滑鼠當前座標值(x,y),相對於視窗左上角

event.button

滑鼠按下鍵編號,左鍵為1,右鍵為3,與裝置相關

③滑鼠按下事件

pygame.event.mousebuttondown

event.pos

滑鼠當前座標值(x,y),相對於視窗左上角

event.button

滑鼠按下鍵編號,左鍵為1,右鍵為3,與裝置相關

5.鍵盤事件及其型別

鍵盤按下事件pygame.event.keydown

鍵盤釋放事件pygame.event.keyup

event.unicode 按鍵的unicode碼,

event.key 按鍵的常量名稱

event.mod 按鍵修飾符的組合值

按鍵的名稱及修飾符這裡就不貼了

可用event.mod來進行修飾符的按位或運算

event.mod = kmod_shift | kmod_alt

pygame學習筆記

import sys import pygame pygame.init size width,height 680,480screen pygame.display.set mode size clock pygame.time.clock while true clock.tick 60 每秒6...

OSG學習筆記9 處理鍵盤事件

處理鍵盤事件 include stdafx.h include include include includeclass keyboardhandler public osgga guieventhandler 人機互動事件處理器 else else if ea.getkey 2 else if e...

Python 學習筆記之pygame的安裝

介紹最方便的方法吧 網上有很多實用的 但是可能年頭太遠 不能用了 我是windows 3.6版本的 一 安裝pip 在cmd下輸入 python m pip version 如果有下面這個 就是有pip 可以直接安裝pygame了 如果沒有這一條的話 訪問 如果出現對話方塊,請儲存檔案 如果出現 將...