Cocos2d-x 3.x 布景层Layer
布景层 实际是怎么做的?在实际开发中,我们建立自己的布景层,通常会建立一个新的类,这个新的类的父类为 class HelloWorld : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); // implement the "static create()" method manually CREATE_FUNC(HelloWorld); };
Scene* HelloWorld::createScene() { // 'scene' is an autorelease object auto scene = Scene::create(); // 'layer' is an autorelease object auto layer = HelloWorld::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene; } 代码是通过 #define CREATE_FUNC(__TYPE__) static __TYPE__* create() { __TYPE__ *pRet = new __TYPE__(); if (pRet && pRet->init()) { pRet->autorelease(); return pRet; } else { delete pRet; pRet = NULL; return NULL; } } 很清楚的看到,该宏扩展开来以后,就是创建 在实际开发中,我们就是这么做的,后续我会通过实际的游戏实例进行分析。 颜色布景层类LayerColor颜色布景类 auto scene = Scene::create(); auto layer = LayerColor::create(Color4B(255, 0, 100)); scene->addChild(layer); 这样就创建了一个带有颜色布景层的场景。 多层布景层类LayerMultiplex在游戏开发中,一般会把游戏分为两部分:一部分是游戏界面部分,也就是常说的UI部分;另 一部分就是游戏本身部分。有时UI有很多页面,在页面中用的图也并不是很多,不需要使用切换场景,只需把不同页面做成不同的布景层,然后切换布景层。那么这就需要一个“管理者” 来管理这些界面,这时候就要使用 在很多游戏中都需要在不同的界面中使用相同的几个变量,如果不使用 总结继承自 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |