我试图弄清楚 Sprite 表是如何工作的。我在教程中找到了这段代码:
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 个精灵表,我用来生成精灵表的工具几乎会随机地将精灵适合不同的精灵表。我所拥有的是所有文件(精灵)的列表,我不知道它们究竟属于哪个 spriteSheet。那么有没有办法从代码中获得正确的 CCSpriteBatchNode 我应该添加我的生成精灵?