Iphone Cocos2D我应该为每个精灵使用一个图像吗

Iphone Cocos2D我应该为每个精灵使用一个图像吗,iphone,cocos2d-iphone,sprite,Iphone,Cocos2d Iphone,Sprite,如果我同时在屏幕上有几个相同的精灵,我是否需要为每个精灵加载一个图像,或者我可以简单地以某种方式重复使用这些图像 i、 e 我需要这样做吗 CCSprite *mySprite1 = [CCSprite spriteWithFile:@"mySprite.png"]; CCSprite *mySprite2 = [CCSprite spriteWithFile:@"mySprite.png"]; 或者有更好的方法来处理相同的精灵吗?您应该使用 - (id)initWithCGImage:(CG

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

i、 e

我需要这样做吗

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

或者有更好的方法来处理相同的精灵吗?

您应该使用

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

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

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