先来看一下效果图:
需要用到的东西
cocos2d模块用于搭建游戏框架
pyaudio模块用于获得麦克风的声音
既然游戏的主角是皮卡丘,
那我们总得单独定义一个类来体现一下主角吧?
利用cocos2d模块来定义主角类是一件非常轻松的事情。
你只需要继承sprites类,然后告诉sprites类需要执行什么操作即可。
根据八音符的游戏规则,
我们赋予皮卡丘跳跃、下降和静止的能力,
同时,我们规定皮卡丘在空中时无法进行跳跃。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦雅老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可,她会安排学习的。
具体代码如下:
显然,主角需要有站的地方吧T_T,
到处都是万丈深渊怕是一万只皮卡丘也拯救不了地球人吧T_T。
对于地面,刚开始的时候先得有一段长点的平地缓冲一下,
让玩家先试试自己的嗓音,
然后再随机生成跳跃块,
让玩家展示自己的歌喉。
具体代码如下:
3. 实现游戏主循环:
有了上面的铺垫,
就可以开始实现我们的小游戏了。
此时我们需要继承ColorLayer类来实现游戏主循环。
首先,我们定义声控条类来“暗中观察”我们的嗓音,
代码如下:
然后就是实例化皮卡丘类和block类,
其中,block类将被放置进容器以方便整体处理。
代码如下:
千万别忘了
只有输入了声音才能控制我们的皮卡丘不停地运动,
代码如下:
最后,我们需要告诉程序游戏规则,
那就是根据麦克风接收到的声音的音量
来控制声控条的长短以及皮卡丘的动作。
这里,我们通过block块的整体后移来实现皮卡丘的前进效果。
当然,我们也需要加入必要的碰撞检测程序,
不然皮卡丘一登场就陷入沼泽一样的地面中了。
并且我们规定当皮卡丘掉入“沟壑”后游戏重置。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦雅老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可,她会安排学习的。
代码如下:
大功告成!
需要源码的,记得留言评论后私信我哦!