我想在我的视差背景中多次使用 Sprite “砖 block ”。 有没有办法可以重复使用同一个 Sprite ? 因为我也必须为我的 Sprite 设置碰撞检测...... 如果我使用太多变量,我认为那是没用的。 感谢您的帮助
最佳答案
您不能重复使用同一个 CCSprite 实例。然而,您可以重新使用纹理,Cocos2D 会自动为您完成。
您可以使用相同的图像文件或 Sprite 帧创建多个 Sprite 。例如,这将创建 100 个砖 block Sprite 并为每个 Sprite 指定一个从 0 到 99 的唯一标签:
for (int i = 0; i < 100; i++)
{
CCSprite* brick = [CCSprite spriteWithFile:@"brick.png"];
[self addChild:brick z:0 tag:i];
}
所有使用图像文件“brick.png”的 Sprite 都将使用相同的内存纹理。 CCTextureCache 缓存每个加载的图像文件,以便每个 CCSprite 的额外内存使用量接近 500 字节(我用 Objective-C 运行时检查过一次)。这意味着使用相同纹理的一千个 Sprite 将使用大约 500 KB 加上纹理使用的内存量。
关于cocos2d-iphone - 如何在cocos2D中添加相同的 Sprite ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7913315/