一、什么是场景
场景是包含精灵、标签、节点和其他游戏UI元素的对象容器。
场景负责游戏逻辑的运行和游戏内容的逐帧渲染。
每个游戏至少需要一个场景。游戏一般拥有多个场景并且可以在多个场景间自由切换,cocos2dx提供了多种场景切换效果。
二、创建场景
auto myScene = Scene::create();
三、场景布局
cocos2dx使用右手坐标系统,也就是说原点(0,0)位于左下角,UI元素的坐标是基于这个原点计算出来的相对坐标。
四、多场景切换
cocos2dx提供多种形式的场景切换。
假设现在定义了一个场景:auto myScene = Scene::create();
方式一:runWithScene
runWithScene只能用于第一个场景的加载,也是启动整个游戏第一个场景的方式。
Director::getInstance() -> runWithScene(myScene);
方式二:replaceScene
直接切换到下一个场景
Director::getInstance() ->replaceScene(myScene);
方式三:pushScene
暂停当前正在运行的场景,并将其放进暂停堆栈中。使用该方法的前提是有正在运行的场景。
Director::getInstance() ->pushScene(myScene);
方式四:popScene
移除正在运行的场景并用暂停堆栈中栈顶场景取代。该方法也要求当前有正在运行的场景。
Director::getInstance() ->pushScene(myScene);
五、可以在场景切换时添加切换动画。
原文链接:https://www.f2er.com/cocos2dx/343521.html