为MATLAB Flappybird
作者:张精
作为app store中最受欢迎的游戏之一,《Flappy Bird》已经不再需要更多的介绍了。现在,它在MATLAB中复活了。
这一实现是为了复制原始游戏的用户体验,所有对象的物理尺寸都是相同的。重力和“跳动的脉搏”也被仔细地调整,以使它们尽可能接近原始。
*本游戏推荐使用MATLAB R2014a,以达到最佳的图形性能
用法:
只是flappybird.m执行。或者,你也可以安装“Flappy Bird”。作为一个MATLAB应用程序。
控制:
空格键/返回/上行/W/ ->跳转/开始游戏/重启游戏;
退出游戏。
注意:
这款游戏应用具有一些我首次在游戏中使用的技术突破。例如,小鸟精灵被表示为一个SURFACE对象,而不是IMAGE对象,所以它可以轻松地以任何角度旋转。
**如果您遇到任何问题,或有任何建议/反馈,请在下方留言。**
尽情地拍打翅膀吧!
张印务(2021)。RoteAugen / flappybird-for-matlabGitHub (https://github.com/mingjingz/flappybird-for-matlab)。检索.
错误:文件:flappybird.m
行:169列:25
标识符
“ScoreInfoBackHdl”不是
函数或共享
变量
要解决这个问题,您应该在“Handles”部分添加两行代码。
% %处理
MainFigureHdl = [];
MainAxesHdl = [];
MainCanvasHdl = [];
BirdSpriteHdl = [];
TubeSpriteHdl = [];
BeginInfoHdl = [];
ScoreInfoBackHdl = [];%添加这一行
ScoreInfoForeHdl = [];%添加这一行
FloorSpriteHdl = [];
ScoreInfoHdl = [];
GameOverHdl = [];
FloorAxesHdl = [];
有人知道如何解决这个问题吗?
错误:文件:flappybird.m
行:169列:25
标识符
“ScoreInfoBackHdl”不是
函数或共享
变量。分享
“ScoreInfoBackHdl”与
嵌套函数,
在
当前的范围。更多的
信息,请参阅共享
父母之间的变量
和嵌套函数。
我试图使用MATLAB 2019b运行它,并得到一个关于ScoreInfoBackHdl和ScoreInfoForeHdl不是一个函数或共享变量的错误。我初始化它们(我包括ScoreInfoBackHdl=[];和ScoreInfoForeHdl = [];在%%系统变量部分,它似乎修复了问题。
我只能访问较新的版本的MATLAB (r12019a)。是否有任何方法来修复图形?
还有谁有这个问题,导致MATLAB崩溃时,你输了游戏?
如果您在代码中更改一些参数,将会非常有趣。
神奇的!
这是一款很棒的游戏,尽管我从未玩过!
zichi ~
66666年 ~~~~~~~~~~~~~~
有没有办法把鸟变成另一个表面图像?
很好
不错的工作
6666
以下是《Flappy Bird》应用中自动控制的一个实现。
http://youtu.be/XxPe0HJLkVs
令人惊讶的是,一个简单的P-only控制器可以做得很好。
好了。这应该由mathworks选择作为特色
我喜欢这个游戏,我相信我可以永远飞翔。
好作品,张明静:)
不错的游戏,但很难不碰撞
我讨厌现在的生活。谢谢。
伟大的工作!谢谢你!这是一个学习如何在Matlab中创建小型但有趣的游戏的好例子。
不错的
好努力!
如果你打包为应用程序,你需要稍微修改一下你的代码。你需要确保你打包的主函数返回一个数字句柄,这样当你关闭它时,应用程序就会从路径中移除自己。
神奇的……
@Rabih你下载“Download submission”时使用过这个提交包吗?
或者我觉得你的目录有问题。因为matlab不能加载*。垫文件
我也想这么做,但只是幻想而已。这是一部充满激情和技巧的作品。很棒的工作!
它不工作在matlab R2012 a。我得到:
错误使用负载
无法读取sprites2文件。mat:没有这样的文件或目录。
flappybird/initVariables错误(第276行)
精灵=负载(“sprites2.mat”);
flappybird中的错误(第94行)
initVariables ();
这款游戏与iphone上的原版游戏非常相似。谢谢你的努力。我已经向我的朋友推荐了这个应用。
太棒了!
哇!你真的这么做了??神奇的!...和有趣的!
终于等到matlab版了!学习了!感谢!
很难相信你花时间做了这个。有趣!:)
有趣!:)