Pygame事件处理机制简介-慕课的python游戏开发入门02

本文深入探讨了Pygame的事件处理机制,包括事件队列、事件类型及其属性、键盘和鼠标事件的处理,以及如何响应用户操作和窗口变化。通过代码示例展示了如何使用pygame.event.get()、pygame.event.poll()和pygame.event.clear()等函数来管理和处理事件,同时讲解了如何自定义和生成事件,以实现更丰富的游戏交互体验。
摘要由CSDN通过智能技术生成

目录

首先解释几个问题:

1、事件处理需求主要有以下几个方面:

2、Pygame事件队列

3、Pygame事件

4、事件类型及属性

 5、事件处理的重要函数

 6、键盘事件

7、鼠标事件

8、处理事件函数

9、操作事件队列

10、生成事件

其次给出代码段,有利于大家对其进行学习和分析

最后进行小结:


作为一款游戏,一方面是游戏的内容是否吸引人,另一方面就是作为游戏者参与其中,因此如何与用户互动是需要着重解决的问题,因此第二部分是事件处理机制,也就是上篇中提到的event.type的处理。一般为键盘和鼠标输入,开发高级一点游戏还需要游戏杆,这里主要说一下键盘和鼠标操作的处理。

首先解释几个问题:

1、事件处理需求主要有以下几个方面:

• 响应用户键盘、鼠标等外设操作
• 响应屏幕尺寸和模式变化
• 响应游戏情节的特定触发条件
• 产生一些触发条件
• ……

2、Pygame事件队列

建立的一个队列,用于缓存并派发所有事件
原则上先到先处理

3、Pygame事件

pygame.event.EventType
• 事件本质上是一种封装后的数据类型(对象)
• EventType是Pygame的一个类,表示事件类型
• 事件类型只有属性,没有方法
• 用户可自定义新的事件类型

4、事件类型及属性

 5、事件处理的重要函数

 6、键盘事件

针对事件类型,例如键盘中按下,然后针对不同的键值和修饰符组合,可以实现多种对游戏的操作反馈,从而实现人对游戏的全面操控,但是基于游戏的可玩性,尽量的减少按键的数量,对于游戏是有益的!


7、鼠标事件

 (1)pygame.event.MOUSEMOTION鼠标移动事件
• event.pos 鼠标当前坐标值(x,y),相对于窗口左上角
• event.rel 鼠标相对运动距离(X,Y),相对于上次事件
• event.buttons 鼠标按钮状态(a,b,c),对应于鼠标的三个键

(2)pygam

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值