游戏FLAPPY_BIRD再分享!

2019-07-20 19:53发布

首先声明,该游戏是我移植自http://www.openedv.com/posts/list/0/27336.htm 的Microbai的F1程序。
虽说是移植但由于本游戏实现方式过于原始所以就跟重新写一个没啥区别。我进行了大量优化和改动。看他的程序就断断续续看了两三天,连个注释都没有我也是醉了。所以觉得我只是移植一下没干啥有技术含量的活儿我也是太委屈了。
想要做游戏的人又没有相关经验的人相信本作会给你很多灵感。但是不建议看懂整个程序,虽然我加了大量注释,但是可读性和可移植性基本没有。大家只需要看个大概思路即可。
还有很多话我在main开头的注释里都有写。希望大家本着开源开放的精神,积极把好东西多多贡献出来,这样大家才会进步更快。
废话休提上效果图和源码。








还需要说一下就是,我之所以在上方留出160*480的空白区域主要是为了再开发,比如设置技能按钮,设置更换夜间皮肤等诸多选项。
由于使用了文件系统读取图片数据,所以大家需要自备SD卡,然后建立I:SYSTEMFLAPPY_BIRD目录,将SYSTEM压缩文件里面的内容全部接要到该目录。然后下载本程序值F4即可。

另外本游戏还未来得及做各项测试所以一旦有BUG请大家及时通知我改正。

还有一点希望各位大神能够指教,因为我使用dma分8次填满整个屏幕(dma单次传输量有限)每单次填充都会等待填充完才进行下一次填充(这是出现断面的主要原因),我使用慢动作拍摄可以明显看到屏幕上会有八次撕裂断面,想过使用双缓存但是我的缓冲区就是只有一个640*480的大数组,不知道如何使用双缓存,或者除了双缓存还有其他解决办法吗?我能想到的就是使用八个DMA通道同时填充...不知可行性如何。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
heitu103
1楼-- · 2019-07-21 13:43
 精彩回答 2  元偷偷看……
村西埋个地雷
2楼-- · 2019-07-21 18:12
您的程序我看了好久,但是画点FlappyBird_Frame[y*480+x] = color;有些不理解,为什么会是y*480+x呢?谢谢!
Austin
3楼-- · 2019-07-22 00:08
回复【8楼】heitu103:
---------------------------------
SD卡文件放了么?
Austin
4楼-- · 2019-07-22 04:55
 精彩回答 2  元偷偷看……
Austin
5楼-- · 2019-07-22 05:51
回复【8楼】heitu103:
---------------------------------
有的时候需要多按几次复位或者开关。大屏似乎有这个毛病,应该是供电的问题
村西埋个地雷
6楼-- · 2019-07-22 06:23
 精彩回答 2  元偷偷看……

一周热门 更多>