0

我在我的主课上声明了这个:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];
CCSpriteBatchNode *batchNode = [CCSpriteBatchNode batchNodeWithFile:@"atlas.png"];

现在我在另一个班级,我想创建一个新的 batchNode 但从 atlas 获取 spriteFrames,这是在主类上声明的。我怎么做?我需要在我的其他班级再次使用这些相同的行吗?通过这样做,我是否会将多余的图像导入到 sharedSpriteFrameCache 中?我的想法是节省内存,而不是浪费。

有什么线索吗?谢谢。

4

1 回答 1

1

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];假设您没有删除这些精灵帧,则无需再次调用。

您将需要创建另一个批处理节点来放置精灵。

如果你再次尝试将精灵帧添加到缓存中,你不会浪费空间,精灵帧只会添加一次,但是当 cocos2D 解析文件并确定每个精灵帧是否确实存在时,你会浪费时间已经添加。

于 2012-06-12T15:21:12.977 回答