首页 > 解决方案 > 使用旧的 SKTextureAtlas 或 SpriteAtlas

问题描述

我制作了一个使用许多纹理图集的游戏。我目前在 assets.xcassets 文件夹中使用 SpriteAtlases,在测试 iOS 10 以下的设备之前效果很好。

在 iOS 9 的任何设备上运行都会在下面显示此问题,并且不会加载纹理。

-[CUIThemeRendition newImageFromCSIDataSlice:ofBitmap: usingColorspace:] Unsupported pixel format in CSI got 5

Unable to create unsliced image from csi bitmap data.

我无法解决这个问题(我读到它可能是一个错误),所以我能想到的唯一两个选择是在项目包中使用旧的 .atlases 或者在使用时只让我的游戏支持 iOS 10.0 和更新版本精灵图集。哪个是更好的选择还是有其他选择?

标签: iossprite-kit

解决方案


使用 .atlas 方法陈旧且效率低下。到目前为止,XCassets .spriteatlas 可以更好地使用内存,并使您的项目运行得更好。

我的建议是不支持 iOS 9 及更低版本。仍在使用 iOS 9 的用户是如此之少,如果使用这种低效的方法,你会搞砸你的 iOS 10 用户。此时,大多数人已经升级到 iOS 10 或更新版本或购买了新设备。

它达到了我们开发人员物理上无法继续支持旧 iOS 版本的地步。事实上,如果我没记错的话,Twitter 最近刚刚放弃了对 iOS 9 的支持。我认为效仿是个好主意。


推荐阅读