1

我正在设计一个必须在多个游戏场景之间切换的游戏。每个场景都在 cocostudio 中创建,并作为 json 文件导入到代码中,如下所示:

var obj = ccs.load(res.Symbols_json);
this.addChild(obj.node);

这很好用,但是当我必须转换到其他场景然后回到原始场景时,我会遇到几个不同的问题。

如果我创建一个新的场景实例,我将返回为:

returnToScene: function () {
  this.startScene = new startGameScene();
  cc.director.runScene(new cc.TransitionFade(1,this.startScene));
}

PNG 文件未正确加载,透明度显示为纯白色。但是,如果我将场景的旧实例保留为:

returnToScene: function () {
  if (this.startScene == null)  this.startScene = new startGameScene();
  cc.director.runScene(new cc.TransitionFade(1,this.startScene));
}

然后我必须手动重新加载 json 文件中的所有动画,并且所有粒子系统都被破坏(因为它们仍然存在但没有更新)。

有没有其他人经历过类似的事情?我考虑过使用 pushScene 和 popScene 代替 runScene,但据我所知,这似乎是一种过时的执行场景转换的方式。

4

0 回答 0