Cocos2dx技术三——cocos2dx基本概念五场景

一、什么是场景@H_404_1@

场景是包含精灵、标签、节点和其他游戏UI元素的对象容器。@H_404_1@

场景负责游戏逻辑的运行和游戏内容的逐帧渲染。@H_404_1@

每个游戏至少需要一个场景。游戏一般拥有多个场景并且可以在多个场景间自由切换,cocos2dx提供了多种场景切换效果。@H_404_1@

二、创建场景@H_404_1@

auto myScene = Scene::create();@H_404_1@

三、场景布局@H_404_1@

cocos2dx使用右手坐标系统,也就是说原点(0,0)位于左下角,UI元素的坐标是基于这个原点计算出来的相对坐标。@H_404_1@

四、多场景切换@H_404_1@

cocos2dx提供多种形式的场景切换。@H_404_1@

假设现在定义了一个场景:auto myScene = Scene::create();@H_404_1@

方式一:runWithScene@H_404_1@

runWithScene只能用于第一个场景的加载,也是启动整个游戏第一个场景的方式。@H_404_1@

Director::getInstance() -> runWithScene(myScene);@H_404_1@

方式二:replaceScene@H_404_1@

直接切换到下一个场景@H_404_1@

Director::getInstance() ->replaceScene(myScene);
@H_404_1@

方式三:pushScene@H_404_1@

暂停当前正在运行的场景,并将其放进暂停堆栈中。使用该方法的前提是有正在运行的场景。@H_404_1@

Director::getInstance() ->pushScene(myScene);
@H_404_1@

方式四:popScene@H_404_1@

移除正在运行的场景并用暂停堆栈中栈顶场景取代。该方法也要求当前有正在运行的场景。@H_404_1@

Director::getInstance() ->pushScene(myScene);
@H_404_1@

五、可以在场景切换时添加切换动画。@H_404_1@

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...