Python3制作类八音符的小游戏
创始人
2025-05-29 23:01:07
0

导语

T_T突然发现N久以前我还做过一个系列???

利用Python制作小游戏???

好吧,既然做了,就有头有尾吧~~~

本期我们将制作一个类似八音符的小游戏。

让我们愉快地开始吧~~~

相关文件

百度网盘下载链接: https://pan.baidu.com/s/1JKS3_bTToinfyGREcdqduw

密码: ufaw

参考文献

cocos2d文档:

http://python.cocos2d.org/doc/

开发工具

Python版本:3.6.4

相关模块:

cocos2d模块;

pyaudio模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理介绍

相信很多人对八音符这款游戏并不陌生吧,其核心玩法是利用声音控制一个带辫子的小黑球不断前进,大概是长这样子的吧:

今天我们就来做一个低配版本的T_T,其功能为利用声音控制皮卡丘不断前进。

游戏主要使用了cocos2d模块和pyaudio模块,前者用于搭建游戏框架,后者用于获得麦克风的声音。

Step1 定义皮卡丘类:

既然游戏的主角是皮卡丘,那我们总得单独定义一个类来体现一下主角吧?

利用cocos2d模块来定义主角类是一件非常轻松的事情。你只需要继承sprites类,然后告诉sprites类需要执行什么操作即可。

根据八音符的游戏规则,我们赋予皮卡丘跳跃、下降和静止的能力,同时,我们规定皮卡丘在空中时无法进行跳跃。具体代码如下:

Step2 定义block类:

显然,主角需要有站的地方吧T_T,到处都是万丈深渊怕是一万只皮卡丘也拯救不了地球人吧T_T。

对于地面,刚开始的时候先得有一段长点的平地缓冲一下,让玩家先试试自己的嗓音,然后再随机生成跳跃块,让玩家展示自己的歌喉。具体代码如下:

Step3 实现游戏主循环:

有了上面的铺垫,就可以开始实现我们的小游戏了。

此时我们需要继承ColorLayer类来实现游戏主循环。首先,我们定义声控条类来“暗中观察”我们的嗓音,代码如下:

然后就是实例化皮卡丘类和block类,其中,block类将被放置进容器以方便整体处理。代码如下:

啊,千万别忘了只有输入了声音才能控制我们的皮卡丘不停地运动,代码如下:

最后,我们需要告诉程序游戏规则,那就是根据麦克风接收到的声音的音量来控制声控条的长短以及皮卡丘的动作。这里,我们通过block块的整体后移来实现皮卡丘的前进效果。

当然,我们也需要加入必要的碰撞检测程序,不然皮卡丘一登场就陷入沼泽一样的地面中了。并且我们规定当皮卡丘掉入“沟壑”后游戏重置。

代码如下:

OK,大功告成!!!

游戏效果

在cmd窗口运行Game2.py文件即可。

效果如下:

https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=j1342xt30gc&auto=0

点击查看视频

更多

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...