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

发布于 2024-12-19 23:20:50 字数 407 浏览 0 评论 0原文

我不确定您何时想要执行此操作(也许是从低质量预览 -> 高质量图像移动时),但无论如何 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

有办法解决这个问题吗?

I'm not sure when you'd want to do this (maybe when moving from a low quality preview -> high quality image), but anyway the Cocos2D texture cache doesn't let you use one image with two different texture formats.

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

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

Is there a way around this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Smile简单爱 2024-12-26 23:20:50

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

只有两种方法可以实现此目的:

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

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

No, the texture cache regards textures using the same file name as identical.

There's only two ways to make this work:

  1. modify CCTextureCache
  2. save the same image using two different file names

If you're worried about app size for download, you could also copy image files from the main bundle to the documents directory and change the file names when the app starts for the first time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文