1

スプライト シートをキャッシュし、CCSpriteBatchNode を使用せずにフレームごとにスプライトにアクセスする利点があるかどうかを知りたいですか?

私のゲームのいくつかの部分では、スプライト バッチ ノードは画面上にたくさんあるため便利ですが、別の部分ではそうではありません。いくつかのものしかなく、レイヤーの要件があるため、CCSpriteBatchNode は役に立ちません。しかし、一貫性を保つために、すべてのスプライトにスプライト シートを使用したいと考えています。(または、さらに悪いことに、いくらか遅くなる可能性があります...)

4

1 に答える 1

3

あなたが呼んだように、すべてのスプライトをテクスチャアトラスまたはスプライトシートに入れることには、反抗的に利点があります。テクスチャは 2 の累乗次元でメモリに格納されます。したがって、129px x 132px のスプライトがある場合、2 の累乗に最も近い 256px x 256px としてメモリに格納されます。多くのスプライトがある場合、余分なメモリが大量に消費されます。

テクスチャ アトラスを使用すると、メモリ内にテクスチャが 1 つだけあり、スプライトに必要な部分が抽出されます。これらのスプライトは、2 の累乗のサイズを気にすることなく、好きなサイズにすることができます。

このチュートリアルで詳細を読むことができます http://www.raywenderlich.com/2361/how-to-create-and-optimize-sprite-sheets-in-cocos2d-with-texture-packer-and-pixel-フォーマット

于 2012-09-20T03:35:59.007 に答える