3

我正在使用 cocos creator v 1.3.1

我想知道如何在场景之间导航,假设我们必须到场景场景 A 和场景 B。

第一个游戏加载 SceneA 之后我可以通过调用这个函数来加载第二个场景cc.director.loadScene('SceneB');

在我想加载 SceneA 之后,如果我这样调用cc.director.loadScene('SceneA');

它加载 SceneA 的新实例,但我想加载 SceneA 的先前实例。

我该怎么做?

4

3 回答 3

3

我认为这就是场景堆栈的用途。

cc.director.pushScene('SceneB');

将暂停 SceneA 并开始执行 SceneB。

cc.director.popScene();

将从 SceneB 退出并取消暂停 SceneA 并保持其先前的状态不变。

于 2016-11-21T22:15:34.913 回答
1

我有一个想法,您可以在加载 SceneB 之前将所需的数据(或状态)保存在 SceneA 中,当您返回 SceneA 时,您可以读取保存的数据(或状态)。如果您需要经常在 SceneA 和 SceneB 之间切换,您可以使用 cc.game.addPersistRootNode(this.xxx)

于 2016-11-11T09:56:56.557 回答
1

cc.director.loadScene(scene-name) 是交换两个场景的官方方式

于 2017-02-25T16:10:08.923 回答