自iOS9升级后,SpriteKit图像无法正常显示

时间:2015-09-17 11:03:17

标签: objective-c sprite-kit upgrade ios9 sktexture

我刚刚更新到iOS 9,却发现我的应用中的多个图片不再显示。由于某种原因,所有SpriteKit文本都是黄色的(以前是白色的)。

有问题的图像是2D精灵,用精灵套件渲染,但在哪个显示和不显示之间似乎没有多大的一致性。当然,没有背景显示,有些图像显示为白色框(但不是红色X)。

其他精灵颠倒或在Y中翻转,就像坐标系已经颠倒一样。并且似乎不再显示粒子效果。

我应该在不久前尝试过测试版,因为这会破坏我的实时应用(我现在已经取消了)。但有没有其他人经历过类似的事情?或者可能知道什么是错的?在我看来主要是一个SpriteKit问题,然而,纹理地图集的所有精灵似乎都运行良好。

更新:

我意识到我的精灵全部不是纹理地图集中的精灵。我在这里发现了一个论坛帖子:https://forums.developer.apple.com/thread/13358表示iOS9要么需要" .png"代码中每个资产名称的扩展名,或者您可以删除并重新添加资产目录中的所有资产。难以置信的!

This post遇到了类似的问题,显然解决方案是将所有地图集添加到XCAssets,然后将目标设置为最新的iOS。但是你失去了与iOS8的向后兼容性。

3 个答案:

答案 0 :(得分:3)

我遇到过类似的问题并发送过错误报告。

粒子文件不再适用于负值。例如颗粒沿着某个方向旅行现在只停留在一个地方。其中一些也以随机角度旋转。

纹理似乎在现有场景文件中被破坏。删除精灵节点,向场景文件添加新节点并再次设置图像似乎有效。

我不知道如何将这个留给开发人员修复。这是一个必须引起注意的巨大问题。

在iOS 8上运行该文件工作正常,在iOS 9上它完全坏了。

我正在考虑在单独的iOS 9场景文件中重建场景文件。并在运行时加载以前版本的旧版本,以至少修复纹理问题。

答案 1 :(得分:1)

正如我在another question of mine上发布的那样,似乎大多数iOS9问题都已在iOS9.2测试版和Xcode 7.2测试版中得到解决。

迟到总比没有好:]

答案 2 :(得分:0)

我在iOS 9下遇到的问题是从地图册加载的精灵会出现闪烁,乱码的图像。我发现加载它们时没有指定文件扩展名(在我的例子中是.png)完全解决了这个问题。