CCSpriteFrameCache优化

时间:2011-10-22 21:34:13

标签: objective-c cocos2d-iphone

[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:];

这将通过.plist文件添加精灵帧。我想问:如果我因为某种原因尝试再次加载.plist文件 ,那么CCSpriteFrameCache是否足够聪明以至于忽略它?或者它会重新加载它,消耗更多的处理/内存?

1 个答案:

答案 0 :(得分:3)

它将重新使用已加载的纹理,但重新加载plist中的精灵帧。它将创建新的精灵帧并抛弃现有的精灵帧。

如果您打算修改纹理图集并重新加载它,您还必须确保从纹理缓存中删除纹理,以便重新加载它。

如果你只是懒惰而且一遍又一遍地调用这个方法,那么如果你在场景之间这样做就不应该是一个问题但我不会在游戏过程中这样做,因为每个精灵帧都被解除分配并且是新的一个已分配,并且许多其他代码在后台运行以加载精灵帧。