一、什么是场景
场景是包含精灵、标签、节点和其他游戏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);
五、可以在场景切换时添加切换动画。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。