如果我一次在屏幕上有几个相同的精灵,我是否需要为每个精灵加载一个图像,或者我可以简单地以某种方式重复使用图像?
即,
我需要这样做吗?
CCSprite *mySprite1 = [CCSprite spriteWithFile:@"mySprite.png"];
CCSprite *mySprite2 = [CCSprite spriteWithFile:@"mySprite.png"];
还是有更好的方法来处理相同的精灵?
答案 0 :(得分:5)
你的解决方案很好。第一次调用spriteWithFile:将加载纹理并将其添加到共享CCTextureCache。第二个将检查纹理是否已经存在,这次将从第一个重用它。
答案 1 :(得分:0)
你应该适当地使用
- (id)initWithCGImage:(CGImageRef)image
key:(NSString *)key
此方法使用图像或由key命名的缓存纹理。如果没有具有此键的缓存纹理,它将创建一个纹理并为您缓存它。