pygame键盘事件操作
✕
什么是事件呢?按下键盘某个按键,鼠标移动,包括点击关闭按钮都可以算是事件操作。
pygame中事件模块是pygame.event,官方说法是用于与事件和队列进行交互。
不用学习太多,主要学习下常用即可;
pygame.event.get从队列中获取事件
之前我们就一直在用事件处理,那就是我们每次代码都带上的退出;for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit(0)
如果没有任何输入的情况下 event.get()返回的是个空列表
我们点击关闭pygame的窗口返回的事件是
[]
我们可以 遍历列表获取内部数据,
可以查看数据的类型是否是pygame的某种类型,比如退出
如果是这种类型的话,我们可以执行相对于的操作。
我们来说下键盘操作elif event.type == pygame.KEYDOWN :
if event.key == pygame.K_UP:
y -= 1
在事件中判断类型是否是 pygame.KEYDOWN
判断键位是否是我们需要的那个键位
执行对应的操作
但是上面这中操作有个问题就是,我们每次按下这个键之后只能执行一次操作;
我们要移动对象的时候想要按下后连续移动,
我们就需要用到 pygame.key 这个是在pygame 2.0的新功能
该模块包含处理键盘的功能。
按下和释放键盘按钮时,事件队列获取pygame.KEYDO