0

cocos2d iOS ゲームの作成中に、スプライトシートを追加するためのオプションがいくつかあります - CCTextureCache::addImageAsync、CCSpriteFrameCache::addSpriteFramesWithFile など - スプライトシートを追加するこれらの異なる方法を使用することの違いは何ですか?

同様に、スプライトをロードするには、CCSprite::spriteWithSpriteFrameName または CCSprite::spriteWithFile または CCSpriteBatchNode::batchNodeWithTexture などを呼び出すことができます。これらの手法を使用することの違いは何ですか?

ありがとう

アナンド

4

1 に答える 1

2

スプライト フレームをロードします。これにより、テクスチャもロードされます。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"file.plist"];

スプライト フレームを使用する:

CCSprite* sprite = [CCSprite spriteWithSpriteFrameName:@"frame.png"];

スプライトをバッチ ノードに追加します。

CCSpriteBatchNode* batchNode = [CCSpriteBatchNode batchNodeWithTexture:sprite.texture];
[batchNode addChild:sprite];

スプライトの同じ画像ファイルを使用する場合、batchNodeWithFile も機能します。スプライトがスプライト フレームで初期化された場合、テクスチャ アトラス イメージ (つまり、「file.png」) になります。

addImageAsync は、テクスチャを別のスレッドにロードする場合 (通常はロード画面をアニメーション化するため) にのみ必要です。後でスプライト フレームを追加する必要があります。

CCSprite spriteWithFile は、単一の画像ファイルからスプライトを作成します。それらもバッチ処理できますが、スプライト フレームでテクスチャ アトラスを使用することをお勧めします。

于 2013-01-22T09:08:30.513 に答える