Cocos2D应该每个精灵使用一个图像

时间:2010-12-25 19:37:59

标签: iphone cocos2d-iphone sprite

如果我一次在屏幕上有几个相同的精灵,我是否需要为每个精灵加载一个图像,或者我可以简单地以某种方式重复使用图像?

即,

我需要这样做吗?

CCSprite *mySprite1 = [CCSprite spriteWithFile:@"mySprite.png"];
CCSprite *mySprite2 = [CCSprite spriteWithFile:@"mySprite.png"];

还是有更好的方法来处理相同的精灵?

2 个答案:

答案 0 :(得分:5)

你的解决方案很好。第一次调用spriteWithFile:将加载纹理并将其添加到共享CCTextureCache。第二个将检查纹理是否已经存在,这次将从第一个重用它。

答案 1 :(得分:0)

你应该适当地使用

- (id)initWithCGImage:(CGImageRef)image
                  key:(NSString *)key   

Reference

此方法使用图像或由key命名的缓存纹理。如果没有具有此键的缓存纹理,它将创建一个纹理并为您缓存它。

相关问题