cocos2d-x基础学习-创建并替换场景Scene
来源:互联网 发布:2017网络贷款平台排名 编辑:程序博客网 时间:2024/05/29 12:15
每一款游戏都在一幕幕场景中呈现的,今天来记录一下如何创建自己的场景类,并调用切换效果来切换场景。
1 我们自己的类需要继承Layer类(如果需要用颜色作为背景,则继承LayerColor;或渐变色图层LayerGradient)
2 我们来重写virtual bool init() 方法,首先来调用基类的init方法,接下来为我们自己的场景添加精灵或控件
bool MyLayer::init(){if (!Layer::init()){return false;}Sprite *a = Sprite::create("image.png");Size visibleSize = Director::getInstance()->getVisibleSize();a->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));this->addChild(a);return true;}3 在头文件类的声明中调用CREATE_FUNC宏,为我们添加静态的create方法;或者我们可以自己添加静态的create方法
#ifndef _MY_LAYER_#define _MY_LAYER_#include "cocos2d.h"class MyLayer : public cocos2d::Layer{public:virtual bool init();static cocos2d::Scene * createScene();CREATE_FUNC(MyLayer);};#endif // !_MY_LAYER_4 创建一个静态的createScene方法,返回值为Scene指针类,并在该方法中将我们自己的Layer类添加到scene中
Scene * MyLayer::createScene(){auto s = Scene::create();auto l = MyLayer::create();s->addChild(l);return s;}5 到此我们已经完成了我们自己的场景创建类,接下来替换场景,同时我们可以为场景切换添加一些效果
auto s = MyLayer::createScene();Director::getInstance()->replaceScene(TransitionCrossFade::create(1.0f, s));//添加渐变效果替换场景注:当我们第一次进入场景时需要调用runWithScene方法,而不是replaceScene方法
所有以Transition开头的类均为场景切换的效果类,调用create方法并将,Scene指针传入即可使用,大家可以自己尝试一下。
0 0
- cocos2d-x基础学习-创建并替换场景Scene
- cocos2d-x创建场景Scene及三要素
- [cocos2d-x 学习] Scene(场景)学习
- cocos2d-X 场景Scene
- Cocos2d-x学习笔记(三)-------->Scene场景
- cocos2d-x scene场景的切换
- Cocos2d-x学习笔记一 创建场景
- 【COCOS2D-X LUA学习】 场景创建
- cocos2d-x 3.0学习-创建菜单场景
- Cocos2d-x学习笔记《07》——场景类Scene、布景类Layer
- cocos2d Scene场景转换
- cocos2d-x总结:第一个场景(scene) [2.0.1]
- cocos2d-x初学笔记04:切换场景Scene
- cocos2d-x总结(二)第一个场景(scene)
- 学习cocos2d --- 场景创建
- cocos2d-x创建一个场景
- Cocos2d-x创建和转换场景学习笔记
- cocos2d-x学习笔记【一】创建自己的场景类
- 回溯法
- 基础查询和数据库的调用
- LDD3源码分析之调试技术
- network scope
- Metasploit与漏洞扫描
- cocos2d-x基础学习-创建并替换场景Scene
- 代码的未来读书笔记<一>
- Climbing Worm
- ext2和ext3文件系统知识
- js实现页面局部刷新
- 这个世界永远不缺大神
- unity3d 插件之Shader Forge第二讲
- 学习触发器谈思维定式
- The project was not built since its build path is incomplete. Cannot find the class file for java.la