我已经构建了一个小型 ipad 游戏,并且 spritesheets 和批处理节点到处都是。但是我不知道它们是如何工作的,何时添加精灵表,何时将精灵添加到 spritebatchnode 等等。等等。
这是我在初始屏幕(主菜单)中所做的:
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"sprites.png"];
screenSize = [CCDirector sharedDirector].winSize;
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"sprites.plist"];
[self addChild:spriteSheet];
在其他类中-我总是需要使用相同的批处理节点->“sprites.png”-我调用
CCSprite *someSprite = [CCSprite spriteWithSpriteFrameName:someSpriteFrameName.png];
并将其添加到self
.
[self addChild:someSprite]; // I do not understand why I would add my sprite to the batch node instead of self
所以情况如下:
我有一个名为“sprites.png”的文件,我所有的精灵都在其中。
- 每当我改变场景时,我是否会创建一个新的批处理节点?spriteframecache 应该保持不变吧?
- 如果我有两个精灵表文件,我将与 spriteframecache 做什么?
- 何时将子节点添加到批处理节点,为什么?
我似乎真的没有完全掌握这个概念。我大致知道我为什么使用它。但如果有人能用外行的方式再次向我解释一切,我将非常感激,所以我对我所做的事情有 100% 的把握。请尽量解释它的基本原理。
- 非常感谢 - 马丁