通过游戏来学Python--微信飞机大战2

通过游戏来学Python--微信飞机大战2

首页枪战射击飞机大战2小游戏更新时间:2024-04-30

让我们一起让飞机动起来吧!怎么使我们的飞机动起来呢?

  1. 通过按下键盘的上下左右箭头,来控制飞机上下左右移动。
  2. 使用鼠标控制飞机的移动

开始写代码前我们要了解一下pygame是如何监听鼠标键盘的

1. 事件对象

pygame中的事件(event)有两个常用属性:

(1) type属性:表示事件类型,常见的事件类型有:

pygame.QUIT:退出事件

pygame.KEYDOWN:键盘按键的按下事件

pygame.KEYUP:键盘按键的松开事件

pygame.MOUSEBUTTONDOWN:鼠标按键的按下事件

pygame.MOUSEBUTTONUP:鼠标按键的松开事件

(2) key属性:如果是键盘事件,则事件的key属性可以获知按下的是哪个键。

pygame已经把所有按键都定义成了常量。

例如,按下的是上箭头,常量是K_UP;下箭头是K_DOWN;左箭头是K_LEFT;右箭头是K_RIGHT。

参看在线文档的常量说明:http://www.pygame.org/docs/ref/key.html

另外,键盘事件中,如果长按箭头,只会产生一次键盘事件。

如果想长按箭头,让飞机一直往一个方向移动,我们应该怎么写呢。

2. 字典

如果要判断按键事件的键值到底是上、下、左、右中的哪一个

Python语言中字典结构,可以实现我们的想法。

(1) 创建字典

创建字典时,以键盘事件的键为key,value暂时设为0。

offset = {pygame.K_LEFT: 0, pygame.K_RIGHT: 0, pygame.K_UP: 0, pygame.K_DOWN: 0}

(2) 根据按键事件,修改字典数据

如果键盘按下,且是上下左右箭头,则移动值设为3;如果键盘松开,且是上下左右箭头,则移动值设为0。

这样每次按箭头键,就可以移动飞机了。

上代码:

运行一下看看效果:

ok,现在我们可以自由的指挥飞机了,不过大家发现飞机有一个小问题了吗?它会穿到窗口的“外面”去!不过我们只要添加一个小小的限制就可以解决问题了,只要把飞机的坐标添加一下边界判断代码就可以了。

今天就先到这里吧!我先去学习学习怎么给我们的飞架装上弹药(^U^)ノ~YO

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved