iOS Swift 5/XCode 13 启动期间 SKSpritenode 加载不一致

SKSpritenode inconsistently loads during start-up in iOS Swift 5/XCode 13

因此,当我启动该应用程序时,所有精灵都会出现一次,一开始一切都很好。然后,当我第二次检查它会如何做时,5 个 SKspritenodes 中的一个突然消失了。然后下次我再做一次,所有的 SKspritenodes 都消失了,然后再做一次,它们又重新出现。

如何修复精灵,以便它们在我启动应用程序时始终生成?

这是我的代码:SpriteKit Code

提前致谢!

简短回答:在属性检查器中将资产的 z 位置从 0 更改为 1。

更长的答案:如果您通过 .sks 文件加载,则需要通过 .sks 文件的属性检查器(不是在代码中)设置您的 zPositions。你会看到它们都是 0。如果你有相同的 zPositions,它们将以不可预测的 z 顺序呈现,有时出现在背景之前有时不出现。