Swift SpriteKit中的SKSpriteNode有时候不会显示出来。

5

我正在使用Swift和SpriteKit制作iOS应用。然而,我的应用程序运行时存在不规则性。有时候,飞船SKSpriteNodes不会出现在屏幕上,有时候子弹的SKSpriteNodes也不会出现,有时候一切都正常显示(我在代码其他位置添加了子弹)。在所有情况下,我都没有在运行之间更改代码。我直接在这个屏幕上启动应用程序,因此我认为这可能与这些SKSpriteNodes没有足够的时间进行初始化有关。有什么想法?

1个回答

18

self.shipzPosition设置为在背景节点前面。类似这样(我会在设置位置之后执行此操作):

设置 self.shipzPosition,使其位于背景节点的前方。类似这样(我会在设置位置之后执行这个操作):

self.ship.zPosition = 1.0

你也可以在zPosition中使用负数,例如,将self.background下降。 将zPosition视为层(支持小数),数字越高,则节点越靠近图层堆栈的“顶部”。


1
他还可以暂时将所有精灵的不透明度设置为0.5,以查看它们中是否有任何一个被隐藏在另一个后面。如果它们仍然没有显示出来,那么他就可以确定这不是深度的问题,而是其他方面出了问题。 - Nicolas Miari
非常感谢,这就是问题所在! - mpkostek
@mpkostek 很棒,很高兴能帮助到你。 - Gliderman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接