从零开始学Python游戏编程25-监听键盘1

对于游戏来说,要时时刻刻处理玩家的输入。玩家是通过键盘、鼠标或者手柄进行输入的,监听键盘,实际上就是接受玩家的输入,并在游戏代码中处理这些输入。

1 键盘事件

当玩家按下键盘之后,操作系统就会将相应的键盘事件放入到事件队列中。

1.1 键盘事件的表示方法

通过pygame.KEYDOWN和pygame.KEYUP表示键盘按键被按下和松开时的事件。监听键盘按键是否被点击,可以对事件队列中的pygame.KEYDOWN或者pygame.KEYUP进行处理即可。

1.2 键盘点击的监听

监听键盘按键是否被点击,只需对pygame.KEYDOWN和pygame.KEYUP中的任意一个事件进行监听即可。在Pygame编程框架代码的基础上加入如图1所示。

图1 监听键盘点击的代码

其中,第12-13行代码对事件队列中事件的类型进行判断,如果是pygame.KEYUP,则说明玩家点击了键盘中的按键,此时打印按键被点击的信息。运行代码,点击键盘按键后,效果如图2所示。

图2 代码运行效果

从图2中可以看出,当代码运行后,点击键盘按键,就会显示按键被按下的信息。

注意1 在点击按键时,要确保输入法为英文。

1.3 按键的判断

在判断了有按键被点击后,还需要判断是哪个按键被按下。可以通过如图3所示代码实现。

图3 判断按键的代码

其中,当判断了键盘按键被点击后,通过13-24行代码继续判断是哪个按键被按下,通过对判断event.key的值来实现。K_数字表示数字按键,K_字母表示字母按键,其它按键的值event.key值可以通过Spyder的提示功能查看,当输入“pygame.K_”后点击“Ctrl”+“空格”按键,就会弹出所有按键的event.key值,如图4所示。

图4 所有按键的event.key值

运行图3所示的代码后,点击相应按键,效果如图5所示。

图5 代码运行效果

2 控制矩形移动

《从零开始学Python游戏编程24-Pygame4》中提到了在游戏窗口中绘制矩形方法。接下来,根据键盘监听功能,实现玩家控制这个矩形实现移动。

2.1 使用变量定义矩形左上角坐标

移动矩形的位置,实际上就是要改变矩形左上角的横纵坐标。因此,首先需要将矩形左上角的横纵坐标定义为常量,代码如图6所示。

图6 定义矩形左上角的横纵坐标的代码

其中,x表示横坐标,y表示纵坐标。

注意2 在while循环之前定义矩形左上角的横纵坐标。

2.2 设置游戏窗口背景色

设置游戏窗口背景色的代码如图7所示。

图7 设置游戏窗口背景色的代码

其中,第17行中的window即为创建的游戏窗口,通过该变量调用fill()函数的作用就是设置window的背景色,(255, 0, 0)表示红色。

注意3 设置游戏窗口背景色的代码在while循环之内。

2.3 绘制矩形

绘制矩形的代码如图8所示。

图8 绘制矩形的代码

其中,pygame.draw.rect()函数的第三个参数中,x和y即为矩形左上角的横纵坐标。

相关链接1 pygame.draw.rect()函数的相关资料,请参考

《从零开始学Python游戏编程24-Pygame4》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值