加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 20:49:41 所属栏目:百科 来源:网络整理
导读:一、什么是场景 场景是包含精灵、标签、节点和其他游戏UI元素的对象容器。 场景负责游戏逻辑的运行和游戏内容的逐帧渲染。 每个游戏至少需要一个场景。游戏一般拥有多个场景并且可以在多个场景间自由切换,cocos2dx提供了多种场景切换效果。 二、创建场景 au

一、什么是场景

场景是包含精灵、标签、节点和其他游戏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);

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读