概述1.如何创建单例场景? .h #include "cocos2d.h" using namespace cocos2d; class Desk:public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); CREATE_FUNC(Desk); }; .cpp #include " 1.如何创建单例场景? .h #include "cocos2d.h" using namespace cocos2d; class Desk:public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); CREATE_FUNC(Desk); }; .cpp #include "DeskScene.h" cocos2d::Scene* Desk::createScene(){ auto scene = Scene::create(); auto layer = Desk::create(); scene->addChild(layer); return scene; } bool Desk::init(){ if (!Layer::init()) { return false; } //add layer or btn and so on. } ********************************************************************************************* ********************************************************************************************* 2.如何在场景中添加Layer? Director::getInstance()->setDepthTest(true);//创建游戏场景 Scene* LevelScene = Scene::create(); Desk* layer = LevelLayer::create(); layer->gsm = this; LevelScene->addChild(layer); //替换场景 Director::getInstance()->replaceScene(LevelScene); 3.如何进行场景切换? auto deskScene = Desk::createScene(); cocos2d::Director::getInstance()->replaceScene(deskScene); 4.如何在C++中定义公用类? SceneManagerControl* SceneManagerControl::share = NulL; SceneManagerControl* SceneManagerControl::getInstance(){ if (!share) { share = new SceneManagerControl(); cclOG("share SceneManagerController"); } return share; } 总结
以上是内存溢出为你收集整理的cocos2d单例全部内容,希望文章能够帮你解决cocos2d单例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)