1

我不确定您何时想要这样做(可能是从低质量预览 -> 高质量图像移动时),但无论如何 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

有没有解决的办法?

4

1 回答 1

2

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

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

  1. 修改 CCTextureCache
  2. 使用两个不同的文件名保存相同的图像

如果您担心下载的应用程序大小,您还可以将图像文件从主包复制到文档目录,并在应用程序第一次启动时更改文件名。

于 2011-12-07T10:35:43.443 回答