如何在cocos2D中添加相同的精灵?

Ale*_*lev 2 sprite cocos2d-iphone

我有精灵"砖",我想在我的视差背景中多次使用.有没有办法可以重用同一个精灵?因为我必须为我的精灵设置碰撞检测...如果我使用太多的变量,我认为这是无用的.谢谢您的帮助

Lea*_*s2D 9

您无法重复使用CCSprite的同一实例.但是,您可以重复使用Cocos2D为您自动执行的纹理.

您可以使用相同的图像文件或精灵帧创建多个精灵.例如,这将创建100个砖精灵,并为每个精灵提供从0到99的唯一标记:

for (int i = 0; i < 100; i++)
{
   CCSprite* brick = [CCSprite spriteWithFile:@"brick.png"];
   [self addChild:brick z:0 tag:i];
}
Run Code Online (Sandbox Code Playgroud)

使用图像文件"brick.png"的所有精灵都将使用相同的内存中纹理.CCTextureCache缓存每个加载的映像文件,以便每个CCSprite的额外内存使用量接近500字节(我使用Objective-C运行时检查了一次).这意味着使用相同纹理的一千个精灵将使用大约500 KB加上纹理使用的内存量.