CCSpriteFrameCache优化

3
[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:];

这将通过.plist文件添加精灵帧。我想问:如果出于任何原因,我尝试重新加载相同的.plist文件,CCSpriteFrameCache是否足够聪明,以忽略它?还是会重新加载它,消耗更多处理/内存?

1个回答

3
它将重复使用已加载的纹理,但重新加载plist中的精灵帧。它将创建新的精灵帧并丢弃现有的精灵帧。
如果您计划修改纹理图集并重新加载它,则还必须确保从纹理缓存中删除纹理,以便它也得到重新加载。
如果您只是懒惰并一遍又一遍地调用此方法,在场景之间执行这项操作不应该是问题,但我不会在游戏过程中这样做,因为每个精灵帧都被解除分配并分配了一个新的精灵帧,并且在幕后运行了许多其他代码来加载精灵帧。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接