複数のゲーム シーンを切り替える必要があるゲームを設計しています。各シーンは 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 ファイルからすべてのアニメーションを手動でリロードする必要があり、すべてのパーティクル システムが破壊されます (それらはまだ存在しますが、更新されません)。
他の誰かが同様のことを経験しましたか? runScene の代わりに pushScene と popScene を使用することを検討しましたが、私が知る限り、シーン遷移を実行する時代遅れの方法のようです。