1.pygame事件
pygame.event.EventType
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.MOUSEBUTTONUP
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
附学习链接:http://www.icourse163.org/course/BIT-1001873001