状態に切り替えた後、状態aにプリロードされた画像/スプライトを追加したいと思います(はのインスタンスです)。phaserGameInstance.worldbphaserGameInstancePhaser.Game
すべてのアセットはブラウザーのキャッシュにグローバルに保存されているためphaserGameInstance.cache、すべての状態で利用できるはずですが、実際にはそうではありません。
これに対して私が見つけた回避策は、状態のキャッシュオブジェクトを状態bのキャッシュオブジェクトのプロパティで拡張することですa。これはちょっと邪魔で、おそらく意図した方法ではありません。
var priorCache = phaserGameInstance.state.getCurrentState().cache; // State 'a'
phaserGameInstance.state.start('b'); // Switch to state 'b'
jQuery.extend( // Merges the cache of state 'a' recursively
true, // into the cache of the current state 'b'
phaserGameInstance.state.getCurrentState().cache,
priorCache
);
state のアセットをプリロードするときにこれが機能するかどうかはテストしていませんb(マージ プロセスによって state のプロパティが上書きされる可能性がありますb) a。
プリロードされたアセットを状態に関係なく使用するにはどうすればよいですか?