[MFC] MFC 仿 Flappy bird PC桌面版
前些日子发现朋友都在玩flappy bird这款虐心的小游戏,网上也炒得很火,于是俺也想下一个玩玩。可是矮穷挫至今还没配上高端的智能机,于是去网上搜了一下,想找个PC桌面版的也玩一下,可是找了半天,都是挂名是PC版,可是实质是让你下一个安卓模拟器(这家伙可不小,而且跑起来挺占内存的,最坑的是偶尔浏览器自己打开!)。正巧自己对MFC知道一点,所以萌发了自己仿一个的念头。
这样经过近连续5天的奋战(每天上完课就冲进寝室,打开pc不断调试构思,>_< 水平有点底,做起来略坑!各种问题呀!),从如何把bmp图片做透明处理,到柱子的CList结构,再到鸟飞翔物理过程的模拟,本来以为接近尾声啦,可是发现有些帧动画之间的时间间隔处理的不是很好,所以只能破坏原来优美的switch下各个元素logic()的结构,在有些地方插入一个Time时间计数器来控制时间间隔(下次再写的时候我觉得要首先全局架构一下,然后再逐个实现!),然后在周二下午+晚上终于把全部效果实现。
本来想一气呵成给它配个音乐,可是看看表已经3点多啦(不得不睡,星期三是全天满课呀!),于是星期三一天没闲着终于晚上8:10上完课直奔宿舍,本来以为2个小时能搞定的配音,结果竟又做到了2:00多(主要因为刚开始采用的playmusic函数不能有混音效果,也就是每次鸟飞翔的声音总是会打断分数增加的声音,感觉很不好!于是查了下有啥方法,结果发现必须用Direct-X才行,看着这个直冒汗呀!可值的高兴的是我还发现有人用send...String()和playmusic()分别播放冲突音频就可以啦,但是问题又出现啦:第一个函数不能加载资源问件,而我又想把所有的资源都封在exe里,怎么办呢?放弃 or Direct-X?最后甚至想到了用多线程的思路!结果试了几次发现不行,就继续搜索方法!终于在百度文库里的一篇简单的音乐播放软件源码提醒了我!最后我首先从资源文件提取音频,然后放在临时文件,再把临时文件传进去,终于大功告成!!!)
下面是它的几个截图:

哈哈,怎么样还行吧!这有他的链接,大家可以玩一下看看(如果有什么不足的地方请多多批评 >m< !):http://www.cnblogs.com/zjutlitao/admin/Files.aspx
[MFC] MFC 仿 Flappy bird PC桌面版的更多相关文章
- [MFC] 高仿Flappy bird 桌面版
这是今年年初做的东西,一直没有时间整理,现在拿出来分享下~ 目录 开发背景 开发语言及运行环境 效果展示 游戏框架说明 游戏状态及逻辑说明 经典算法说明 重量级问题解决 开发感想 一.开发背景: fl ...
- 通通制作Html5小游戏——第二弹(仿flappy bird像素鸟)
亲爱的博友们,我又回来啦~因为我们技术宅的思想只有技术宅懂得,好不容易写了点好玩的东西发QQ空间,结果只有11的UV,0回复....10分钟ps一个女神的素描效果发QQ空间朋友圈,一大堆回复加赞,作为 ...
- 飞翔的圆(Flappy Bird)游戏源码
这个源码是一个不错的休闲类的游戏源码,飞翔的圆(Flappy Bird)游戏源码V1.0,本项目是一个仿Flappy Bird的小游戏,只不过是把Flappy Bird里面的鸟替换成了简单的圆.感兴趣 ...
- 使用Hilo.JS快速开发Flappy Bird
http://hiloteam.github.io/tutorial/flappybird.html#_9 Flappy Bird是一款前不久风靡世界的休闲小游戏.虽然它难度超高,但是游戏本身却非常简 ...
- canvas 制作flappy bird(像素小鸟)全流程
flappy bird制作全流程: 一.前言 像素小鸟这个简单的游戏于2014年在网络上爆红,游戏上线一段时间内appleStore上的下载量一度达到5000万次,风靡一时, 近年来移动web的普及为 ...
- 自己动手写游戏:Flappy Bird
START:最近闲来无事,看了看一下<C#开发Flappy Bird游戏>的教程,自己也试着做了一下,实现了一个超级简单版(十分简陋)的Flappy Bird,使用的语言是C#,技术采用了 ...
- C语言版flappy bird黑白框游戏
在此记录下本人在大一暑假,2014.6~8这段时间复习C语言,随手编的一个模仿之前很火热的小游戏----flappy bird.代码bug基本被我找光了,如果有哪位兄弟找到其他的就帮我留言下吧,谢谢了 ...
- 闲扯游戏编程之html5篇--山寨版《flappy bird》源码
新年新气象,最近事情不多,继续闲暇学习记点随笔,欢迎拍砖.之前的〈简单游戏学编程语言python篇〉写的比较幼稚和粗糙,且告一段落.开启新的一篇关于javascript+html5的从零开始的学习.仍 ...
- 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...
随机推荐
- LCD如何显示图像
1.LCD显示主要相关概念 (1)像素(pixel) 整个图像是由一个个的像素组成的,像素就是一个显示点.像素就是组成图像的最基本元素,或者说显示中可以被控制的最小单位,整个图像就是由很多个像素组成的 ...
- Android菜鸟成长记4-button点击事件
Button 1.button按钮的创建 一般来说,在我们新建一个Android项目的时候,会有会默认有一个activity_main.xml的文件 如果你在新建项目的时候,把Create Activ ...
- Lua metatable & metamethod
[Lua metatable & metamethod] Lua中的每个值都有一套预定义的操作集合,比如数字是可以相加的,字符串是可以连接的,但是对于两个table类型,则不能直接进行“+”操 ...
- clone()与clone(true)的区别
clone()方法用于复制一个元素,但是被复制出来的元素不具备复制的功能,如果希望被复制出来的元素也具备复制的功能,需要给clone()方法加上true这个参数,即clone(true). 例如: & ...
- 如何使用本地yum源?
首先为大家介绍在Centos系统上如何利用系统光盘/镜像作为yum源,实现程序包的安装等操作 1.首先在VM虚拟机上确保已载入光盘镜像,载入成功后显示如下效果. 2.挂载光盘镜像文件,使用命令: mo ...
- OA项目之导出
要导出页的前台: <asp:Button runat="server" ID="btnExport" Text="导出" CssCla ...
- mysql提示2002错误的解决方法
前两天,负责的一个项目出现问题,总是提示"SQLSTATE[HY000] [2002] 由于目标计算机积极拒绝,无法连接",由于负责服务器的同事联系不到,我无法登陆服务器查看原因, ...
- Asp.Net MVC4入门指南(2):添加一个控制器
MVC代表: 模型-视图-控制器 .MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据 ...
- quick-cocos2d-x之testlua之mainMenu.lua
require "helper" require "testResource" require "ActionsTest.ActionsTest&qu ...
- Tomcat Xms Xmx PermSize MaxPermSize 区别 及 java.lang.OutOfMemoryError: PermGen space 解决
解决方案 在 catalina.bat 里的 蓝色代码前加入: 红色代码 rem ----- Execute The Requested Command ----------------------- ...