SpriteKit Swift-更新后的大精灵显示为纯白



我想弄清楚这一点简直要疯了。我有一个游戏我已经有一段时间没有玩了。我把它加载到Xcode中,并从4更新到swift 5,一切都很好。游戏使用了许多更大但经过优化的图形作为背景元素(PNG约为1000x1500像素,但通过有限的调色板将文件大小优化为120k-500k(。由于更新,这些背景元素中的大多数(即SKSpriteNode(在屏幕上显示为纯白精灵。一些最小的正确出现。我在stackExchange上找不到任何人有同样的经历。其他人经历过这种情况吗?任何人都知道一个解决方案。

有些精灵是动态添加的,有些则使用场景编辑器放置在SKSceneNode中。

如果我打印不工作的SKSpriteNode,我会得到以下信息:

名称:"(null("纹理:["BG_Building_06.png"(218 x 1939(]位置:{0,0}比例尺:{1.00,1.00}大小:{218,1939}锚点:{0.5,0.5}旋转:0.00

如果我打印SKSpriteNode.texture,我会得到:

可选('BG_Building_06.png'(218 x 1939((

我还尝试过将所有源png的大小减半,这解决了大多数png的问题(但不是理想的解决方案(,所以这似乎肯定是精灵尺寸的问题。奇怪的是,这在旧版本中没有问题,但现在正在成为一个问题。

想解决这个问题我真的快疯了。

谢谢。

SpriteKit仍然有很多bug。如果您的代码没有更改,并且仍然存在此问题,那么很可能是一个错误。你可以通过提交一个错误来验证它:

https://developer.apple.com/bug-reporting/

或者在苹果开发者论坛上进行讨论。最快的确定方法是提交技术支持事件——他们会帮助你解决问题,或者让你知道这是不是一个bug。

最新更新