2015-10-21 88 views
2

我正在使用Swift和SpriteKit制作iOS。不过,我在运行我的应用程序时遇到了不规则情况。有时船SKSpriteNodes不会出现在屏幕上,有时子弹的SKSpriteNodes不会出现,有时候一切都显示正常(我在代码的其他地方添加了子弹)。在所有情况下,我都不会更改运行之间的代码。我直接在这个屏幕上启动应用程序,所以我想也许它与这些SKSpriteNodes没有足够的时间进行初始化有关。有任何想法吗?Swift SpriteKit SKSpriteNode的“有时”不显示

回答

12

设置self.shipzPosition,使其位于背景节点的前面。像这样的东西(我想设置的位置后这样做):

self.ship.zPosition = 1.0 

,您还可以在zPosition使用底片,例如,砸下来self.background。将zPosition看作层(支持小数),数字越高,越接近节点所在层堆栈的“顶部”。

+1

他也可以暂时将他所有精灵的不透明度设置为0.5,以查看他们中的任何一个是否躲在另一个之后。如果他们仍然没有出现,他可以确定这不是深度,而且还有其他错误。 –

+0

谢谢你一千次。这是问题! – mpkostek

+0

@mpkostek真棒,很高兴帮助。 – Gliderman