首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CCSprite内存:文件与帧

CCSprite内存:文件与帧
EN

Stack Overflow用户
提问于 2012-08-31 11:09:46
回答 1查看 423关注 0票数 1

假设我需要几个使用相同图像的CCSprite。我可以想到以下两种解决方案:

  1. 该图像位于单独的文件"bg.png“中。 CCSprite *image1 1= CCSprite spriteWithFile:@"bg.png";CCSprite *image1 2= CCSprite spriteWithFile:@"bg.png";
  2. 该图像位于spritesheet "bg_sheet.png“中。 [CCSpriteFrameCache sharedSpriteFrameCache addSpriteFramesWithFile:@“bg_sheet.png”; 然后 CCSprite *image2 1= CCSprite spriteWithSpriteFrameName:@"bg.png";CCSprite *image2 2= CCSprite spriteWithSpriteFrameName:@"bg.png";

我的问题是:

  • 我猜,在第1种情况下,图像会在内存中加载两次,而在第二种情况下,只加载一次。我说得对吗?
  • 那么,这是否意味着使用spritesheets总是更好呢?
  • 我有没有错过其他更好的方法来实现它?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-31 11:22:12

  1. 你不对。在这两种情况下,图像只会被放入内存一次。您可以检查spriteWithFile:代码。它试图在sprite帧缓存中找到sprite帧,并在没有找到所需帧的情况下加载它。
  2. 使用spritesheets有助于节省内存。例如,对于大小为129x129的图像,将创建大小为256x256的纹理。但是您可以在一个spritesheet中添加许多这样的图像,并且只会创建一个大的纹理(我的意思是,会有spritesheet 1024x1024或2048x2048,只有一个大小相同的纹理)。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12214121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档