[英]Appropriate use of CCTextureCache
我目前正在创建一个CCSprite
如下所示:
CCSprite *s = [CCSprite spriteWithFile:@"image.png"];
此子画面是CCLayer
的背景图片,该CCLayer
经常使用。 以下CCTextureCache
使用效率更高吗?
CCTexture2D *t = [[CCTextureCache sharedTextureCache] addImage:@"image.png"];
CCSprite *s = [CCSprite spriteWithTexture:t];
在内部,所有使用图像作为纹理的方法(不仅是CCSprite)都会将纹理添加到CCTextureCache中。
您要直接使用addImage的唯一原因是当您要预加载某些纹理时,以便使用该纹理的节点的首次出现不会在游戏过程中造成延迟。
首先,如果查看spriteWithFile:方法的代码,您将发现,即使在那里找不到图像,它仍然会将图像添加到纹理缓存中。
您必须知道的第二件事是,如果将艺术品存储在地图集中以减少内存使用(例如,带有20张不同图片的地图集2048x2048像素),则spriteWithTexture:将创建具有整个巨大地图集(2048x2048像素)纹理的子画面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.