0

私が開発しているゲームのplistとアトラスの使用法を見てきました。pngただし、60 fps を維持するわずかなパフォーマンスの迅速さ (スピードアップ) に気付きました。補足として、現時点ではアプリがクラッシュしていません。

問題は、私が自分のキャラクター(スプライト)のアニメーションを使用SpriteFrameCacheplistていることに気づいたことです。CCactionsただし、一部のキャラクターは使用してSpriteBatchnodeいますが、それは偶然でした。私はゲームの深い開発に比較的慣れていないため、以前はこの違いに気づきませんでした。どちらも機能しますが、どちらも同じように感じます。それだけです。一方は他方よりも実装が簡単な方法で、おそらく以前のバージョンで開発されたものだと思っていました....

私の質問はそうです。両者に違いはありますか?SpriteFrameCache以上を使用すると、ゲームにメリットがありSpriteBatchNodeますか?

助けてくれてありがとう。

参考までに: これは私の開発を遅くするものではありません。それはただの質問です。なぜなら、ゲームが終了したときにゲームのパフォーマンスを最適化したいと思うかもしれないからです。

4

1 に答える 1

0

バッチ ノードは、1 回の描画呼び出しですべての子スプライトを描画します。

スプライト フレームは、テクスチャへの参照を保持し、描画するテクスチャ内の領域を定義します。キャッシュを使用すると、スプライト フレームに名前でアクセスできます。

どちらも異なる概念であり、互いを置き換えるものではありません。スプライト フレームを使用して、スプライトまたはスプライト フレーム アニメーションを作成できます。そのスプライトのバッチ処理に加えて、同じテクスチャを使用して 2 つ以上のスプライトのレンダリングを高速化できます。

子スプライトが 1 つだけのバッチ ノードを使用する場合、バッチ ノードなしでスプライトをレンダリングする場合と同じであることに注意してください。どちらも 1 つのドロー コールを作成するため、バッチ ノードを使用してもプラスの効果はありません。

于 2013-06-13T08:17:11.280 に答える