如何将带有alpha的PNG转换为RGBA4444,以便在SpriteKit SKTexture中使用它?

时间:2016-12-12 10:20:50

标签: sprite-kit skspritenode sktexture

我有一堆透明的PNG,我想在SKSpriteNode动画中使用SKTexture s。我需要通过将纹理质量从SKTexture降低到RGBA8888来调整RGBA4444 s的内存使用量。

如何使用SKTexture纹理格式初始化RGBA4444

编辑: IOS Swift游戏开发手册:游戏开发的简单解决方案建议SKTexture支持PVRTC文件,如下所示:

enter image description here

但是,我无法使用SKSpriteNode来显示以这种方式生成的纹理。

2 个答案:

答案 0 :(得分:2)

我刚试过,在Xcode 8中,构建设置中不再提供输出纹理图集选项here

我怀疑(但我可能错了)控件现在已移到压缩中,如下图所示。

enter image description here

答案 1 :(得分:1)

我通过使用TexturePacker生成纹理图集(.atlasc)文件来规避这一点。使用TexturePacker,您可以设置调整压缩,然后访问项目中的纹理图集,如下所示:

let atlas = SKTextureAtlas(named: "Atlas") // Atlas.atlasc in your project
let texture = atlas.textureNamed("original_texture_001.png")