如题, 我们需要制作一款 flppy bird 游戏,就是曾经在微信疯传了一周的小鸟跳水管略心游戏。
无疑问,可以选用 cocos2d 制作,但由于是页面游戏,避免影响加载过大,我选用了 lite 版本。
ok,我们开始制作,首先我们需要把整个过程拆分为几步。
- 找到资源图片
- 编写重力系统
- 编写障碍物出场顺序以及移动逻辑
- 小鸟与障碍物的碰撞检测
- 算分
- 结算条件,以及重新开始
找资源
这个经过在网上简单搜索(http://pan.baidu.com/s/1pJ3CEYB) 在这里可以拿到进本上所有图片资源。
重力系统逻辑
小鸟只在 y 轴移动,并不产生 x 轴位移,根据重力公式 v = v0 + at 依据重力加速度,不断计算出小鸟
在 y 方向上的实时速度即可。(假定上方为正方向,速度为可正可负,加速度为负。)点击屏幕一下,提供
小鸟一个往上的较大速度,即可实现跳跃效果。
障碍物的产生
障碍物高度为320,场景高度为600,只需要计算好上面柱子的取值范围,用上面的柱子位置减去一半高度,
再减去空余位置再减一半高度,就可以得出下面柱子的y坐标。(底部柱子y坐标 = 上面柱子y坐标 - 一半高度 - 空余位置 - 一半高度)。当障碍物中产收,平移到最左边,然后移除到场景外即可。
碰撞逻辑
判断小鸟的正切矩形,与所有所有柱子的正切矩形是否有交集即可。
算分
当柱子的 x 坐标小于小鸟的 x 坐标,分数 +1。
计算条件
当小鸟碰撞,或小鸟的 y 坐标小于0,结算,重新开始。
到此为止,恭喜你,制作出广告日收入过亿的虐心游戏了。(PS: 不要怀疑名字打错了,是故意打少一个a的,否则就没有山寨的味道了。)