问题
I have a stack of transparent PNGs that I'd like to use in a SKSpriteNode
animation with SKTexture
s. I'd need to adjust the memory usage of SKTexture
s by reducing texture quality down from RGBA8888
to RGBA4444
.
How would I initialize SKTexture
with RGBA4444
texture format?
Edit: IOS Swift Game Development Cookbook: Simple Solutions for Game Development suggests that SKTexture
would support PVRTC files as follows:
However, I couldn't get a SKSpriteNode
to display a texture generated this way.
回答1:
I just tried and in Xcode 8 the option Output Texture Atlas described here is no longer available into Build Settings.
I suspect (but I could be wrong) the control has been now moved inside Compression as you can see in the following image.
回答2:
I circumvented this by using TexturePacker to generate a texture atlas (.atlasc) file. With TexturePacker you can set adjust the compression and then access the texture atlas in your project as follows:
let atlas = SKTextureAtlas(named: "Atlas") // Atlas.atlasc in your project
let texture = atlas.textureNamed("original_texture_001.png")
来源:https://stackoverflow.com/questions/41098602/how-do-i-convert-a-png-with-alpha-to-rgba4444-for-using-it-in-spritekit-sktextur