Swift SpriteKit SKSpriteNode 的“有时”不显示

Posted

技术标签:

【中文标题】Swift SpriteKit SKSpriteNode 的“有时”不显示【英文标题】:Swift SpriteKit SKSpriteNode's "Sometimes" Don't Show Up 【发布时间】:2015-10-21 01:01:34 【问题描述】:

我正在使用 Swift 和 SpriteKit 制作 ios。但是,我的应用程序运行不正常。有时飞船 SKSpriteNodes 没有出现在屏幕上,有时子弹的 SKSpriteNodes 没有出现,有时一切都很好(我在代码的其他地方添加了子弹)。在所有情况下,我都不会在运行之间更改代码。我直接在这个屏幕上启动应用程序,所以我想这可能与这些 SKSpriteNodes 没有足够的时间来初始化有关。有什么想法吗?

【问题讨论】:

【参考方案1】:

设置self.shipzPosition,使其位于后台节点的前面。像这样(我会在设置位置后这样做):

self.ship.zPosition = 1.0

您还可以在zPosition 中使用否定词,例如,将self.background 向下删除。将zPosition 视为层(支持小数),数字越大,您的节点就越靠近层堆栈的“顶部”。

【讨论】:

他还可以暂时将所有精灵的不透明度设置为 0.5,以查看是否有任何精灵隐藏在另一个精灵后面。如果他们仍然没有出现,那么他可以确定这与深度无关,并且还有其他问题。 谢谢你一千次。这就是问题所在! @mpkostek 太棒了,很高兴为您提供帮助。

以上是关于Swift SpriteKit SKSpriteNode 的“有时”不显示的主要内容,如果未能解决你的问题,请参考以下文章

将 SKSpriteNode 移动 Y - Swift 2 + SpriteKit

SpriteKit 设备方向改变导致 SKLabelNode 变形 Swift

这个带有 SpriteKit 代码的 Swift 没有达到预期的效果

SpriteKit,Swift - 滚动视图不显示

如何以编程方式截屏(Swift、SpriteKit)

SpriteKit + Swift - 如何通过缓动移动节点?