スプライト シートがどのように機能するかを理解しようとしています。私はチュートリアルでこのコードを見つけました:
CCSpriteBatchNode *backgroundBgNode;
backgroundBgNode = [CCSpriteBatchNode batchNodeWithFile:@"background.pvr.ccz"];
[self addChild:backgroundBgNode];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"background.plist"];
CCSprite *background = [CCSprite spriteWithSpriteFrameName:@"MuleDeer-ipadhd.png"];
background.anchorPoint = ccp(0,0);
[backgroundBgNode addChild:background];
基本的にこのコードは明確ですが、複数のスプライト シート (pvr.czz ファイル) があり、すべてのスプライト シートに数百の異なるスプライトがあるとします。前のコードで示唆されているように、すべてのスプライトを対応する CCSpriteBatchNode に子として追加する必要があります。基本的に問題は、スプライト シートを生成するために使用するツールが、すべてのスプライトが 1 つのスプライト シートに収まらない場合、異なるスプライト シートにほぼランダムに収まることです。私が持っているのはすべてのファイル (スプライト) のリストであり、それらがどのスプライトシートに属しているか正確にはわかりません。コードから正しい CCSpriteBatchNode を取得し、生成するスプライトを追加する方法はありますか?