我在主要班级宣布了这个:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];
CCSpriteBatchNode *batchNode = [CCSpriteBatchNode batchNodeWithFile:@"atlas.png"];
现在我在另一个类上,我想创建一个新的batchNode但是从atlas获取spriteFrames,这是在主类上声明的。我怎么做?我是否需要将这些相同的行再次放在我的其他课程上?通过这样做,我会将冗余图像导入sharedSpriteFrameCache吗?我的想法是节省记忆,而不是浪费。
任何线索?感谢。
答案 0 :(得分:1)
如果您没有删除这些精灵帧,则无需再次调用[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];
。
您需要创建另一个批处理节点来放置精灵。
如果您尝试再次将精灵帧添加到缓存中,您不会浪费空间,精灵帧只会添加一次,但是当cocos2D解析整个文件并确定每个精灵时,您会浪费时间确实已经添加了框架。