使用一种具有两种不同像素格式的纹理

时间:2011-12-07 08:56:14

标签: cocos2d-iphone ccsprite

我不确定你什么时候想要这样做(可能是从低质量的预览中移动 - >高质量的图像),但无论如何Cocos2D纹理缓存不允许你使用两个不同的图像纹理格式。

[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_A8];
CCSprite* a = [CCSprite spriteWithFile@"image.png"];

[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_Default];
CCSprite* b = [CCSprite spriteWithFile@"image.png"]; // uses A8 not default

有解决方法吗?

1 个答案:

答案 0 :(得分:2)

不,纹理缓存将使用相同文件名的纹理视为相同。

只有两种方法可以完成这项工作:

  1. 修改CCTextureCache
  2. 使用两个不同的文件名保存相同的图像
  3. 如果您担心要下载应用程序大小,您还可以将图像文件从主程序包复制到文档目录,并在应用程序首次启动时更改文件名。