cocos2d-x游戏实战-决战南海
文章平均质量分 83
使用cocos2d-x3.7开发的飞行射击对战游戏。包括各种精彩道具以及广告的植入
my_adu
钻石骨灰级宅男
展开
-
【cocos2d-x 3.7 飞机大战】 决战南海I (十三) 分数场景
分数场景要用到TableView,这个之前也没用过,主要参考网上的代码。cocos2d-x的功能十分强大,以后还有好多东西要学啊! 分数场景类的.h文件中的内容 class ScoreScene : public Layer, public TableViewDataSource, public TableViewDelegate { public: ScoreScene();原创 2015-08-25 06:07:14 · 2442 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (十二) 游戏结束场景
游戏结束的时候,要显示分数,还要能够选择是返回主场景还是退出游戏 // 退出游戏 void menuCloseCallback(cocos2d::Ref* pSender); // 返回主界面 void menuMainCallback(cocos2d::Ref* pSender); 实现该功能的代码如下 bool GameOver::init() {原创 2015-08-25 06:05:44 · 2112 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (十一) 关于游戏场景
这个场景作为弹出场景,主要介绍下游戏。。。还有自己的联系方式(*^__^*) …… 主要使用文本,就一个返回按键的响应函数 //返回按钮 void back(EventKeyboard::KeyCode keyCode, Event* pEvent); 同样要记得在析构函数中移除监听 AboutGame::~AboutGame() { _eventDispatch原创 2015-08-25 06:04:26 · 1657 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (十) 游戏主场景
主场景要包含其他类的头文件 #include "cocos2d.h" #include "MyPlane.h" #include "Bullet.h" #include "EnemyManager.h" #include "Controller.h" #include "BackgroundMove.h" #include "FlowWord.h" 在这个游戏中,我将各种碰撞检测也放到主场原创 2015-08-24 21:00:41 · 1957 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (九) 飘字特效
之前在一个闯关游戏中第一次接触飘字效果,因为那个游戏没有发教程,所以在这里介绍下飘字效果 class FlowWord :public Node { public: FlowWord(); ~FlowWord(); //创建和初始化 飘字 static FlowWord* create(); bool init(); //显示飘字 void showFlowWord原创 2015-08-24 20:59:42 · 2274 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (八) 背景移动
采用双层背景,这样效果更好 .h class BackgroundMove : public Layer { public: BackgroundMove(); ~BackgroundMove(); virtual bool init(); virtual void onEnterTransitionDidFinish(); //等进入场景之后在进行背景的移动 CREAT原创 2015-08-24 20:58:46 · 2232 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (七) 控制器的实现
控制器中的功能并不多,主要是下面这些 //对玩家分数的操作 CC_SYNTHESIZE_READONLY(SaveData *, m_saveData, SaveData); void update(float tm); //游戏暂停与恢复 void menuPauseCallback(cocos2d::Ref* pSender); //声音控制 void menuMusic原创 2015-08-24 20:57:33 · 1079 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (六) 保存玩家数据
玩家要保存的数据可能很多,这里,我们只保存分数 这个类的成员变量和函数如下 //用户数据操作的成员变量 UserDefault * m_userDefault; //要用到这种特殊的容器了。。 ValueVector m_vector; //记录玩家的当前分数 CC_SYNTHESIZE(int, m_score, Score); void save(); 我们使用原创 2015-08-24 20:56:16 · 1678 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (五) 添加子弹
我方飞机的子弹和敌机子弹都在这个类中产生。将子弹专门设计成一个类,主要是为了方便扩展。之后如果想更换我方飞机子弹或者是敌机子弹,都会很方便。 类的功能很直观,就是添加子弹、移除子弹 void bindEnemyManager(EnemyManager* enemyManager); void BeginBulletShoot(float dt = 0.0f); // 开启子原创 2015-08-23 22:34:38 · 2402 阅读 · 2 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (四) 敌机管理
敌方飞机应该不定时的出现,有自己的生命周期、运动轨迹。这个类用来管理敌机的产生、移动、爆炸、销毁等。 敌机管理类主要函数如下 //绑定控制器(更新分数) void bindController(Controller* controller); //根据分数决定添加敌机速度 void addSpeed(float dt); // 添加敌机1 void addEne原创 2015-08-23 22:10:36 · 1771 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (三) 敌机实现
现在来实现敌机类 敌机和我方飞机相似,具有生命值、能够发射子弹,并且有自己的运动轨迹。其实可以为它们设计一个共同的基类,这样可以更方便扩展。 不同的敌机,应设置不同的标识、属性 // 敌机生命值 const int ENEMY1_MAXLIFE = 1; const int ENEMY2_MAXLIFE = 2; const int ENEMY3_MAXLIFE =原创 2015-08-23 21:38:18 · 2074 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (二) 我方飞机的实现
在上一篇中,我们实现了游戏的开始界面,接下来要实现游戏的主界面,主界面包含地图、我方飞机、敌机等 先来实现我方飞机 我方飞机具有哪些属性呢? 飞机要具有生命值、要有动画效果(尾部喷气),飞机不能够飞出边界,所以要进行边界检测,当飞机生命值为0时,飞机会爆炸,然后被移除。 .h文件//飞机动画 Animate* planeFly(); //边界检测 vo原创 2015-08-23 21:26:39 · 1800 阅读 · 0 评论 -
【cocos2d-x 3.7 飞机大战】 决战南海I (一) 开始界面
好久没写过博客了,现在把刚做的游戏发上来吧,以后要注意更新博客啦~! 游戏截图 游戏整体结构图 第一步 在 AppDelegate 中设定游戏界面大小以及缩放方式 cocos2d-x3.7新生成的项目中,AppDelegate有默认的界面大小以及缩放方式,这里,我对其作出一些更改,使其适应本项目 Size frameSize = glview->getF原创 2015-08-23 19:08:43 · 2603 阅读 · 0 评论