Cocos2dx-制作FlappyBird
文章平均质量分 72
本专栏详细介绍了使用Cocos2dx-3.0beta,通过C++语言来开发热门游戏FlappyBird。
OiteBoys
这个作者很懒,什么都没留下…
展开
-
【cocos2dx-3.0beta-制作flappybird】跟随时代的潮流,关于引擎升级
cocos2dx3.1版本早就已经发布出来了,ben原创 2014-07-01 15:23:24 · 4980 阅读 · 18 评论 -
【cocos2dx-3.0beta-制作flappybird】就要结束了吗—Android交叉编译以及后继
一、引言看到这里,我想关于Flappy Bird 这款游戏的制作已经接近尾声了。俗话说:行百里者,半九十。这一节,我们主要是讲解一下如何将游戏编译到Android平台上面。二、Android 开发环境要让游戏在Android上安装运行,首先得要将它编译成一个APK文件才行。因此我们需要搭建Android的开发环境。至于Android开发环境的搭建,我想这里就不多做介绍了,类似的教程原创 2014-03-22 20:30:18 · 6035 阅读 · 13 评论 -
【cocos2dx-3.0beta-制作flappybird】一闪一闪亮晶晶—游戏金币闪烁效果实现
一、引言在Flappy Bird这个游戏中,我们其实也是用到了粒子效果。那便是在游戏结束画面当中,奖牌周围若隐若现的星星了。二、原理分析在前述的素材当中,我们注意到了如下素材:实际上,关于星星闪烁的过程,我们可以把它分为两个步骤第一个步骤是星星由小变大的过程第二个步骤是星星由大变小的过程这两个动作组合在一起,就形成了星星的一次闪烁此外,每一次原创 2014-03-22 20:25:14 · 5838 阅读 · 0 评论 -
【cocos2dx-3.0beta-制作flappybird】我才不会告诉你我硬盘的秘密呢—游戏存储的实现
一、引言在该游戏当中,并没有涉及到太多的关于游戏数据的存储的东西。而唯一需要存储的数据,就是最高得分。在这一节中,将简单介绍一下游戏数据存储的实现。针对这个游戏,我们把用户数据的存储写在了UserRcord类中。二、数据持久化Cocos2d-x3.0 提供了 UserDefault 来实现简单的数据持久化。首先设置数据:UserDefault::getInstance()->s原创 2014-03-22 09:50:05 · 4946 阅读 · 1 评论 -
【cocos2dx-3.0beta-制作flappybird】布告栏中的玄机—游戏状态层的设计与实现
一、引言游戏状态层在整个游戏的过程当中,扮演了一个非常重要的角色,它的主要职责是根据游戏所处的不同阶段,来显示相应的画面。二、状态层的三种状态:1、游戏准备状态,主要是显示游戏准备的画面2、游戏进行状态3、游戏结束状态三、不同状态的具体显示:与三种状态相对应的处理函数分别是void onGameStart();void onGa原创 2014-03-22 09:44:53 · 5855 阅读 · 2 评论 -
【cocos2dx-3.0beta-制作flappybird】对不起,我的数学老师是体育老师兼职的—游戏中所用到的数字类封装
一、引言在游戏进行的过程当中,我们需要实时的显示得分,此外在游戏结束的时候,也需要显示最高分和本局得分。因此本节主要是讲解如何显示这些分数。二、数字类的设计这里我们写了一个Number类来处理数字的显示。素材里面提供了多种不同类型的数字图片,所以我们需要根据实际情况选择某一种数字的图片。1、数字的对其方式:typedef enum _gravity {GRAVIT原创 2014-03-21 10:41:03 · 5223 阅读 · 1 评论 -
【cocos2dx-3.0beta-制作flappybird】让马里奥大叔来搬水管—在游戏层加入水管
一、引言如我们所看到的,每一组水管由上下两根组合而成。在结合之前我们所看到的游戏素材。我想,大概可以明白,在游戏当中,每组水管其实都是一样的,而我们看到的高低不同的各组水管,其实是通过设置水管的Y方向的坐标来实现的。二、水管的添加在游戏层当中,我们首先创建了两根水管:Sprite *pipUp = Sprite::createWithSpriteFrame(AtlasLoa原创 2014-03-21 10:33:13 · 6111 阅读 · 3 评论 -
【cocos2dx-3.0beta-制作flappybird】物理世界的美妙—游戏层的物理属性的设置
一、引言Flappy Bird这款游戏,它的一个非常新颖的地方,就是充分利用了游戏世界的物理属性——小鸟不是水平飞行,而是同在物理世界里一样,受到重力的影响。所以其运动轨迹不是单一的直线,而是抛物线。二、给小鸟附加物理属性那么,我们如何为小鸟添加上物理属性呢?事实上,强大的游戏引擎已经为我们做好了一切准备。且看如下代码://创建小鸟this->bird = BirdS原创 2014-03-20 21:25:14 · 6635 阅读 · 9 评论 -
【cocos2dx-3.0beta-制作flappybird】终于要来正戏了—游戏层的设计和小鸟的加入
一、引言在上一节当中,我们分析了游戏层跟控制层的关系,而在这一节当中,我们将会详细介绍游戏层(GameLayer)的具体实现。二、游戏层的基本结构单游戏层来说,它包括两个元素:1、小鸟2、障碍物(水管)游戏层的操作:1、游戏状态的表示2、添加小鸟和水管3、分数的实时统计4、碰撞的检测三、游戏状态的表示采用枚举类型表示游戏的三种状态:准备状原创 2014-03-20 12:32:58 · 6625 阅读 · 4 评论 -
【cocos2dx-3.0beta-制作flappybird】——游戏控制层的设计以及控制层和游戏层的关系
一、引言正如上文所述,游戏场景当中,有一层被称为控制层。顾名思义,该层主要是响应玩家的OnTouch时间,以实现游戏当中控制小鸟飞行轨迹的目的。二、控制层在游戏主场景当中,我们通过如下代码添加控制层// Add operation layer to control the gameauto optionLayer = OptionLayer::create();if(o原创 2014-03-20 08:59:27 · 5454 阅读 · 0 评论 -
【cocos2dx-3.0beta-制作flappybird】千层饼的智慧—谈谈游戏主场景的分层以及最简单的背景层的实现
一、一个问题首先,不妨思考一下,如果让你对整个游戏的主场景进行垂直(Z轴方向)分层,你会怎么分呢?二、层我想我们还是来对层这个概念下一个定义:"层是隶属于场景之下的游戏元素。通常一个复杂的场景会有多个层,一个层显示一部分视觉元素,空白部分为透明或半透明,以实现多个层的重叠显示。层与层之间按照顺序叠放在一起,就组成了一个复杂的场景。"在这个游戏当中,我们把整个游戏原创 2014-03-19 09:20:46 · 6537 阅读 · 6 评论 -
【cocos2dx-3.0beta-制作flappybird】英雄都是孤独的?--小鸟单例类的设计以及小鸟类的设计
这一节,我们来分析一下对该游戏的主角——小鸟的处理。一、分析:如标题所示,英雄总是孤独的,所以在这里,我们依然把小鸟设为一个单例类,而其具体的实现代码相应的在 BirdSprite.cpp 中首先,我们应该明白,在整个游戏的过程当中,小鸟有三种不同的状态:1、准备 IDLE(挥动翅膀,不受重力约束)2、飞行 FLY(飞行的过程当中,受重力的影响)3、死亡 DIE(倒地的状态原创 2014-03-19 09:03:48 · 7007 阅读 · 11 评论 -
【cocos2dx-3.0beta-制作flappybird】玄关是必要的—游戏欢迎界面的创建
这一节里,我们主要是讲解游戏欢迎界面的制作。这里我们把游戏也当作一个场景(WelcomeScene)来实现——尽管它做的事情非常的简单,仅仅是加载了欢迎层(WelcomeLayer)ok,让我们不妨先来看看我们最后完成的效果是什么样的吧。在welcomelayer这一层中,主要有这么一些元素:1)背景2)地面3)游戏名字、版权描述4)开始游戏按钮5)原创 2014-03-14 10:19:39 · 8426 阅读 · 5 评论 -
【cocos2dx-3.0beta-制作flappybird】未雨绸缪—Loading界面的写法
未雨绸缪—Loading界面的写法该博客为原创博客,转载请保留原始地址:游戏中什么最占用内存,毋庸置疑绝对是纹理,用mac开发的同学如果有洁癖一定用过Xcode自带的内存分析工具,你可以发现大部分内存里面存的都是纹理(简单理解就是图片啦)。如果为了减少内存使用而增加加载次数势必会令游戏不流畅,如果一次性加载很多纹理又会消耗掉更多内存,所以内存的载入时间和量都是非常值得研究的一个事情。限于笔原创 2014-03-13 19:30:24 · 10111 阅读 · 6 评论 -
【cocos2dx-3.0beta-制作flappybird】就这么开始--开发环境的搭建素材的准备
从这一节开始,笔者将为大家讲解如何制作一款类似flappy bird的游戏。一、磨刀不误砍柴工,首先我们来介绍一下游戏开发环境,以及游戏引擎的选择:◆开发语言:C++◆开发环境:VS2012 下载地址:◆游戏引擎:cocos2dx-3.0beta2 下载地址为:http://cdn.cocos2d-x.org/cocos2d-x-3.0beta2.zip在这里,笔者假原创 2014-03-13 11:24:24 · 14102 阅读 · 28 评论 -
【cocos2dx-3.0beta-制作flappybird】——背景介绍
制作背景:随着Flappy Bird 这款游戏的一夜爆红,我想,很多人在被这款高难度游戏折磨着的同时,一定也非常希望一窥这款游戏的奥秘所在吧。从制作难度上来讲,这款游戏并没有太大的技术难点。恰逢好友zzycami提议,不如我们也来写一款吧。于是,我们利用业余时间合作完成了这款游戏的开发,以及开始后期教程的制作。赠人玫瑰, 手有余香。在后续的几节中,将会陆续介绍我们是如何制作这款游戏的。写博原创 2014-03-13 11:12:47 · 7506 阅读 · 10 评论