cocos2dx 3.3菜鸟一步步开发简单版FlappyBird
本人初学cocos2dx,从去年年底开始,常从CocoaChina上看一些志同道合的朋友分享了很多的教程,阅读后对其也有了些了解。如今,开始学习2dx,便参考OtieBoy的博客,写了些教程,会有很详细的说明和注释,一来更深入地理解并对开发有一个好的认识,二来希望能够帮助新手!
标哥-iOS攻城狮
现从事iOS开发,业余研究HTML5+CSS3+PHP+Mysql,cocos2dx中...
展开
-
cocos2dx3.3开发FlappyBird总结十七:结束语
教程到此也该结束了,如果您是认真看完此教程的有缘人,相信您一定会成为本行业的精英,但是我希望大家都能有开源精神,把自己的总结,自己领悟出来的知识,共享出来,大家一起学习,少走弯路。本人Github:https://github.com/632840804 本人QQ:632840804 本人Email:huangyibiao520@163.com写代码不易,写教程亦不易,且写且看且珍惜!!! 写原创 2015-03-20 15:32:18 · 952 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十六:游戏层实现
游戏有三种状态,准备开始、游戏中、游戏结束,定义一个枚举来表示:/** * The status of game, it has three status. */typedef enum tag_GameState { /** The game hasn't started, but ready to start */ kGameStateReady = 1, /** The ga原创 2015-03-20 15:23:37 · 1043 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十五:记录玩家得分
在游戏结束时,需要更新和获取最新得分。设计一个工具类,只有类方法,这样外部就能很方便地获取和更新值。/** * This is a help class, using to operate the user information conveniencely */class RecordTool {public: /** * Get the best score with a ke原创 2015-03-20 15:03:00 · 1203 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十四:常量定义
游戏层中水管等需要常量:#ifndef EngryBird_AppConstant_h#define EngryBird_AppConstant_h/** * The pipe has four state, using the following tag to mark. * > the state up * > the state down * > the state passed原创 2015-03-20 14:53:27 · 1108 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十三:数字特效类
由于显示得分其实是数字精灵的组合,因此需要先设计一个存储数字精灵数列的类:#ifndef __EngryBird__NumberSeries__#define __EngryBird__NumberSeries__#include "cocos2d.h"/** * This class is for ScoreNumber, and it will store a list of sprite原创 2015-03-20 14:44:08 · 1125 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十二:状态层设计
状态层是比较复杂的了,状态层需要与游戏层通信,因此也需要为游戏层先设计一个代理类,以便状态层遵守游戏层的代理,这样游戏层就可以在游戏开始、得分、结束时,告诉状态层做出相应的状态表现了。游戏层的代理类:/** * The delegate between status layer and game layer */class GameStatusDelegate {public: /**原创 2015-03-20 14:20:36 · 1156 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十一:控制层功能设计
控制层的任务就是监听触摸事件,然后回调代理方法。控制层并不具体处理任务事情,只是抛给代理处理,因此需要先设计一个代理。代理只是一个方法,那就是触摸:/** * The delegate between option layer and game layer */class OptionDelegate {public: /** * When touch the option lay原创 2015-03-20 11:44:04 · 855 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结十:背景层设计
游戏背景层的任务是很简单的,只是根据当前时间来显示白天或者黑夜背景图,提供获取地面的高度方法。#ifndef __EngryBird__BackgroundLayer__#define __EngryBird__BackgroundLayer__#include "cocos2d.h"/** * The game background,showing the background informa原创 2015-03-20 11:32:42 · 915 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结九:欢迎场景(WelcomeScene)
欢迎场景的任务是无限滚动地面,小鸟原地挥动翅膀,显示开始游戏按钮,点击时才开始玩游戏。先上图: 这个场景中,有一个标题:FlappyBird 一只小鸟,小鸟的颜色是随机生成三种中的一种 一个开始按钮 无限滚动的地面在初始化时,生成当前时间来显示白天还是黑夜背景。 // Get the current time, judge whether now is day or night t原创 2015-03-20 11:25:21 · 915 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结八:载入场景LoadingScene
载入场景的目的是预加载资源,也就是在场景进入时,把资源加载到内存中:// 重写onEnter方法,场景载入时,会调用此方法,此外我们还需要调一下父类的方法,这个是API说明的,照做就行。// 方法其实功能是很简单的,就是先显示一张splash图片,然后异步加载图片资源,这个addImageAsync方法是引擎内部提供的API,可异步加载,这样就不会阻塞主线程了。void LoadingScene原创 2015-03-20 11:02:39 · 2016 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结七:说说游戏流程
整个游戏的执行流程是这样的:初始载入LoadingScene: 这一步会把所有图片资源和音频资源都载入到内存中,当然这不是一种好的方式,不过这里项目较小,资源少,这种方式是可行的。 当资源载入完成时,会进入到下一步。下一步:切换到WelcomeScene,即显示欢迎界面,用户点击玩游戏按钮,进入到GameScene,这个是游戏主场景。玩家输了以后,可以不断重玩。GameScene:主场景,由背景原创 2015-03-20 10:54:12 · 1011 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结六:设计共享小鸟类(主角)
主角小鸟有三种状态:idle、fly、die。 idle状态下,小鸟会挥动翅膀,原地不动,且不受重力的影响。 fly状态下,也就是游戏过程中小鸟移动,此状态下小鸟挥动翅膀飞行移动且受重力的影响。 die状态下,游戏结束了,小鸟死亡倒地了。 所以先设计一个枚举来表示小鸟的三种状态:/** * The leading role, bird's three action state */ty原创 2015-03-20 10:42:26 · 1011 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结五:说说屏幕适配
官方网站中有一篇教程,是关于适配问题的,笔者也是通过阅读后,才了解一些,希望大家好好阅读,必定受益匪浅: http://cn.cocos2d-x.org/tutorial/show?id=2360此处笔者采用的是ResolutionPolicy::EXACT_FIT,即完全显示。 由于背景图片资源的宽高为288:512,因此这里把设计分辨率为288:512,在bool AppDelegate原创 2015-03-20 10:30:56 · 2985 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结四:资源管理类
游戏中需要全局管理很多的资源,如图片、音频文件等。下面我们设计一个骨骼资源管理类,名叫:AtlasLoader,设计为全局共享类,用于载入资源和通过资源名称获取精灵帧。下面先上头文件:#ifndef __EngryBird__AtlasLoader__#define __EngryBird__AtlasLoader__#include "cocos2d.h"/** * The struct o原创 2015-03-20 10:16:58 · 1508 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结三:项目剖析
Flaypp bird这个小游戏是很火热的,用这个小项目来学习,是非常不错的。 游戏中主要的角色: 主角:小鸟。 小鸟是主角,只有一只小鸟,因此设计小鸟类时,设计成全局共享的类,即通过单例方式获取小鸟对象。障碍物:水管 水管垂直方向是有两根的,一长一短,其实是同长的,只是修改了Y属性而已。地面: 地面是无限滚动的,直到游戏结束。游戏规则很简单: 与地面接触或者与水管接触视为游戏结束,小鸟原创 2015-03-20 09:48:59 · 1212 阅读 · 0 评论 -
cocos2dxFlappyBird开发总结二:开发环境介绍
开发平台:Mac 10.10 Xcode 6.2 引擎:cocos2dx 3.3 final版 开发语言:C++本人一直都喜欢C++这个开发语言,于是使用C++完成了此项目。由于本人从事的是IOS开发,因此只写了IOS平台版本,源码会开放到github上,同志们可自行在拿到源码后,在Android上配置项目,再开源出来,希望大家都能继承开源精神!!!在MAC上开发,需要先下载 cocos2dx原创 2015-03-20 09:45:20 · 1485 阅读 · 0 评论 -
cocos2dx3.3开发FlappyBird总结一:背景介绍
本人当前从事iOS开发,业余时间喜欢研究新的技术,便开始了这段旅程。 由于本人是菜鸟,本教程是参考OiteBoy同志的开源项目而写的,并非抄袭,亦非复制,而是让我这个菜鸟一步步与同是菜鸟的同志们一起探求cocos2dx引擎开发游戏的技术与技巧,同时也让我这个爱研究的同志,更深入地理解引擎。声明:高手可路过,如停留,请留下宝贵意见,或指导一下如何深入学习,提前感谢。如教程中出现任何问题,请联系我,或原创 2015-03-20 09:38:02 · 1678 阅读 · 1 评论