cocos2dx休闲游戏--Fruit & Bird 开发学习(1)
来源:互联网 发布:怎么看淘宝销售排行 编辑:程序博客网 时间:2024/05/16 05:45
游戏架构:
一、 场景管理类 GameSceneManager:
在对一个游戏进行场景切换时,可以定义一个单独的类(eg:GameSceneManager类),来管理其他场景的切换。
该类的主要作用是管理各个场景,同时需要用该类创建第一个场景(即第一次进入游戏的场景),并实现从当前场景跳转到其他场景的方法。
优点:游戏中众多的场景集中到一个类中不但程序结构清晰而且维护简单。
在该游戏中,场景管理类,主要实现9个场景的切换:主布景类MainLayer,帮助布景类,设置布景类,排行榜布景类(进击的小鸟和水果大逃亡),关于布景类,选择游戏布景类,“进击的小鸟“布景类,“水果大逃亡”布景类
GameSceneManager.h文件
#ifndef __GAME_SCENE_MANAGER_H__#define __GAME_SCENE_MANAGER_H__#include "cocos2d.h"USING_NS_CC;class GameSceneManager//场景管理类,数据成员主要是一些指向场景的指针;成员函数则是跳转到相应场景的方法{public:Scene* mainScene;Scene* gameScene;Scene* birdScene;Scene* fruitScene;Scene* musicScene;Scene* rankScene;Scene* aboutScene;Scene* helpScene;public:void createMainScene();void goToFlappyScene(int);//切换到“进击的小鸟”游戏界面的方法void goToSquishyScene(int);//切换到“水果大逃亡”游戏界面的方法void goToGameScene();void goToMainScene();void goToSetScene();void goToRankBirdScene();void goToAboutScene();void goToHelpScene();};#endif
说明:场景管理类头文件,数据成员主要是指向其他场景的指针;成员函数则是跳转到其他场景的方法。特别说明函数createMainScene是创建游戏中的第一个场景方法。
成员函数:createMainScene的实现;
void GameSceneManager::createMainScene(){mainScene = Scene::create();//创建一个场景节点MainLayer* layer = MainLayer::create();//创建主菜单布景层layer->sceneManager = this;//将MainLayer中的公有数据成员指向场景管理器类(this),那么在MainLayer中,就可以使用sceneManager这个指针切换到其他场景mainScene->addChild(layer);//将主菜单布景层添加到场景中}说明:该方法用来创建游戏的第一个场景,函数中MainLayer其实就是主菜单布景类(下一小节单独列出该类的实现)
跳转到其他场景方法的实现(此处列举2个场景跳转的方法)
void GameSceneManager::goToMainScene()//切换到主界面的方法{Director::getInstance()->setDepthTest(true);//开启深度检测,mainScene = Scene::create();MainLayer* layer = MainLayer::create();layer->sceneManager = this;mainScene->addChild(layer);auto ss = TransitionFade::create(1.0f, mainScene);Director::getInstance()->replaceScene(ss);}
切换到“进击的小鸟”排行榜场景的方法
void GameSceneManager::goToRankBirdScene(){Director::getInstance()->setDepthTest(true);rankScene = Scene::create();RankBirdLayer* layer = RankBirdLayer::create();layer->sceneManager = this;rankScene->addChild(layer);auto ss = TransitionPageTurn::create(1.0f, rankScene, false);Director::getInstance()->replaceScene(ss);}
阅读全文
0 0
- cocos2dx休闲游戏--Fruit & Bird 开发学习(1)
- cocos2dx休闲游戏--Fruit & Bird 开发学习(3)———RankBirdLayer
- cocos2dx休闲游戏--Fruit & Bird 开发学习(2)--主菜单场景MainLayer
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》之继续优化(付源码)
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》(待续)
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》之继续优化(付源码)
- Cocos2dx游戏开发笔记21:动手学习《Flappy Bird》之继续优化(付源码)
- 【cocos2dx 3.2】Flappy Bird开发超详细讲解(五)游戏的总逻辑控制
- QT教程 休闲棋牌游戏开发(1)
- QT教程 休闲棋牌游戏开发(1)
- cocos2dx游戏开发学习笔记1-基本概念
- cocos2dx游戏开发学习基础(二)
- cocos2dx游戏开发学习笔记(一)
- cocos2dx游戏开发学习笔记(二)
- cocos2dx游戏开发学习笔记(三)
- 休闲游戏UI开发经验谈
- 【cocos2dx游戏开发技术精解-学习笔记(1)】游戏背景
- MM模块物料-供应商-PO-表
- Android从零开搞系列:自定义View(16)自定义验证码输入框效果
- transient
- Ubuntu下双网卡配置静态路由上网
- iOS日历视图
- cocos2dx休闲游戏--Fruit & Bird 开发学习(1)
- Spring Boot(3)整合Mybatis
- Python日期处理Arrow包(待完善)
- QSplitter
- CEVA DSP构成
- USB HID设备报告描述符详解
- 阿里热修复Andfix的Java实现
- Spring Boot(4)整合thymeleaf
- Shell编程基本知识