假设我需要几个CCSprite
s 使用相同的图像。我可以想到以下两种解决方案:
该图像位于单独的文件“bg.png”中
CCSprite *image1 = [CCSprite spriteWithFile:@"bg.png"]; CCSprite *image2 = [CCSprite spriteWithFile:@"bg.png"];
图像位于精灵表“bg_sheet.png”中
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"bg_sheet.png"];
然后
CCSprite *image1 = [CCSprite spriteWithSpriteFrameName:@"bg.png"]; CCSprite *image2 = [CCSprite spriteWithSpriteFrameName:@"bg.png"];
我的问题是:
- 我猜在案例 1 中,图像在内存中加载了两次,而在案例 2 中,它只加载了一次。我对吗 ?
- 那么这是否意味着使用精灵表总是更好?
- 我是否错过了其他更好的方法来实现它?