FlappyBird.zip

  • 浏览量:637
  • 下载量:0
  • 资料大小:487.03 KB
  • 日期:2015-12-03
  • 上传者:蒙娜丽石
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    其实和原子的开发板挺有缘的,去年双12的时候,想买战舰板的,但是暂时没钱了,正好淘宝弄了个免单活动,我给抽中了,就免费获得了手头这块战舰板,后来一直有事就拖着没学,上个月正式开始学习。
        
        原子老师的视频很好,看了就能懂,因为最近一款叫flappybird的游戏很火,所以我就想72m主频的stm32能不能跑一个呢,抱着这个想法,花了5天时间研究,到今天终于差不多了,请各位大神给过过目。








        



    源码丢上来了,视频土豆还在审核,战舰板可以直接玩,玩的时候注意要把adc的跳线帽拿掉,靠的是ad产生随机数的,不拿掉柱子是不会变化的。


     


    大致思路说说,就是在外部sram里面做了一个大数组做了一帧缓冲,所有屏幕相关操作都是在这一帧上面实现的,使用dma直接丢数据到fsmc接口上,比i/o快多了,然后就是资源的去背问题,所有的图片都是我从手机版上面截图下来的,然后背景色都是0x4df9,然后因为jpg转换软件的关系,蓝色的背景色会有偏差所以直接判断把0x4df9不显示不可行,后来想到可以用rgb颜色来入手,虽然不是0x4df9但是还是蓝色,所以蓝色分量肯定比红色多,所以做了一个阈值判断,然后就是场景与场景之间的过渡,一开始准备一个点一个点渐变的,大家可以在源码的engine.c里面看到有个u16 flappybird_frame_mixcolor(u16 color_1,u16 color_2,u8 percent)这个函数,这个函数是根据565色的关系写的,但是速度慢而且有的时候颜色渐变的很恶心,所以后来想到用pwm波控制pb0引脚直接做背光控制,明暗渐变做场景转换什么的最棒了,恩,以上应该差不多了。



    改进过的:

                               



    最低难度,39分求超越!













          
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换