1

Starling の CitrusEngine ゲーム エンジンを掘り下げています。私はゲームを構築するという考えを理解しようとしています。

chrome.angrybirds.com または puddingmonsters.com を見ると、ゲームが状態 (StarlingState のアセット) を動的にロードすることがわかります。これはスマートです。ゲームがスプラッシュ画面の表示を開始すると、メインの状態 (ホーム、設定、選択レベル ビュー) をロードするプリローダーを取得し、レベルを選択すると、レベルの状態をロードするプリローダーが再び表示されます。これは、ゲーム用に複数のパーツを構築してから、あるパーツから別のパーツに切り替えるときにプリローダーが表示される場所にそれらを接続しているように見えます。

Starling/CitrusEngine でこれを行うにはどうすればよいでしょうか? ここでのロジックは何ですか?通常、Flash ゲームは最初にすべてのアセットをロードしますが、これはモバイル デバイスでは適切ではありません。複数の StarlingCitrusEngine クラスを持つことは賢明ですか、それとも単一の StarlingCitrusEngine クラスでゲーム全体を処理する必要がありますか? 詳しく説明してください。

回答ありがとうございます。

4

1 に答える 1

0

通常、Flash ゲームは最初にすべてのアセットをロードしますが、これはモバイル デバイスでは適切ではありません。

仰るとおりです。より良いアイデアは、必要に応じてアセットを動的にロードすることです。可能であれば、ビューごとに単一のスプライトのたわごとを作成してみてください。それは、メニュー、ゲーム、ゲーム レベルなどである可能性があります...

ただし、1 つのスプライトでゲームを作成できる場合は、ロードがまったく必要ないため、おそらくそれよりも優れているでしょう。

また、解像度ごとに複数のアセットを用意することも検討してください。小さなデバイスで多くのメモリを節約できます。

もう 1 つのブーストは、独自のワーカーにプリローダーを実装することです。私はこれをやったことがありませんが、それは良い考えのように聞こえます。そこには新しいスターリングコンテキストが必要になると思います。これによりパフォーマンスが向上しますが、メモリの問題とは関係ありません。

PS Gazman SDKはもう見ましたか?

于 2014-03-09T11:53:51.673 に答える