cocos2d-x基础学习-创建并替换场景Scene

cocos2d-x基础学习-创建并替换场景Scene,第1张

概述         每一款游戏都在一幕幕场景中呈现的,今天来记录一下如何创建自己的场景类,并调用切换效果来切换场景。          1    我们自己的类需要继承Layer类(如果需要用颜色作为背景,则继承LayerColor;或渐变色图层LayerGradient)          2    我们来重写virtual bool init() 方法,首先来调用基类的init方法,接下来为我们自

每一款游戏都在一幕幕场景中呈现的,今天来记录一下如何创建自己的场景类,并调用切换效果来切换场景。

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指针传入即可使用,大家可以自己尝试一下。

总结

以上是内存溢出为你收集整理的cocos2d-x基础学习-创建并替换场景Scene全部内容,希望文章能够帮你解决cocos2d-x基础学习-创建并替换场景Scene所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1022466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存