准备:开发工具Python版本:3.6.4
相关模块:
cocos2d模块;
pyaudio模块;
以及Python自带的一些模块。
在环境中安装Python,并将其添加到环境变量中。pip可以安装相关模块。
原理介绍
相信很多人对八音游戏并不陌生。它的核心玩法是通过声音控制一个有辫子的小黑球,看起来是这样的:
今天我们就来做一个低配版的T_T,功能是通过声音控制皮卡丘不断前进。
游戏主要使用cocos2d模块和pyaudio模块,前者用于搭建游戏框架,后者用于获取麦克风的声音。
步骤1定义皮卡丘类:
既然游戏的主角是皮卡丘,我们是不是要定义一个职业来体现主角?
使用cocos2d模块定义主角类是非常容易的。你只需要继承sprites类并告诉sprites类做什么。
根据八音游戏的规则,我们赋予皮卡丘跳跃、下降和静止的能力。同时我们规定皮卡丘在空中的时候不能跳。具体代码如下:
The second step is to define the block class:
显然,主角需要一个站立的地方。T_T,到处都是深渊。就算是一万只皮卡丘也救不了地球。
对于地面来说,刚开始的时候,一定要有一个很长的平坦的缓冲区,让玩家先试自己的声音,然后随机生成跳跃块,让玩家展示自己的声音。具体代码如下:
第三步实现游戏的主循环:
有了上面的铺垫,我们就可以开始实现我们的小游戏了。
此时,我们需要继承ColorLayer类来实现游戏的主循环。首先,我们定义一个语音控制条来“偷偷观察”我们的声音。代码如下:
然后实例化皮卡丘类和block类,其中block类会放在一个容器中,方便整体处理。代码如下:
啊,别忘了,只有输入声音,才能控制我们的皮卡丘保持移动。代码如下:
最后需要告诉程序游戏规则,就是根据麦克风接收到的声音的大小来控制声音控制条的长度和皮卡丘的动作。这里我们通过整体向后移动方块来实现皮卡丘的向前效果。
当然,我们还需要添加必要的碰撞检测程序,否则皮卡丘一出现就会陷入沼泽般的地面。而且我们规定皮卡丘掉进山沟游戏会重置。
代码如下:
OK,大功告成!
游戏效果在cmd窗口运行Game2.py文件即可。
效果如下:
。。加载中.
最后如果看完你还是不会编写这个脚本,可以关注小编+转发此文,然后私信小编“皮卡丘”,就可以拿到完整代码
点击下方了解更多,获取Python零基础入门爬虫进阶学习资料~~
标题:八音符VS皮卡丘:声音触发的游戏!Python代码运行,轻松破纪录
链接:https://www.52hkw.com/news/rj/71162.html
版权:文章转载自网络,如有侵权,请联系删除!