SpriteKit:无法点击叠加的节点

时间:2018-09-25 22:00:35

标签: ios

我有多个SKEffectNodes用作层来表示不同的屏幕,例如主菜单屏幕,游戏屏幕,游戏结果屏幕。我将子节点附加到代表按钮,标签等的相应层上。

当一层可见时,前一层在背景中具有较低的alpha值,因此模糊不清。过渡时,前景将模糊并且将alpha过渡到0,而背景将模糊并且将alpha过渡到1。前景不会被回收(我意识到这可能是问题的一部分)。

当游戏屏幕位于主菜单屏幕后面时,主菜单上的播放按钮(按钮:带有isUserInteractionEnabled = true的SKSpriteNode)在游戏屏幕上覆盖带有“ isUserInteractionEnabled = false”的SKSpriteNode。

>“播放”按钮的中间,它不会触发touchesEnded(...)方法,但是当我轻按SKSpriteNode不在其后面的任何位置时,它将触发“播放”按钮的touchesEnded(...)方法。

我有一个transitionInComplete和transitionOutComplete方法,用于确定图层何时是完全可见/不可见以及何时处于活动/非活动状态。我以为这个问题与zPositioning有关,因此我在调用transitionInComplete时将当前层的zPosition设置为100,在调用transitionOutComplete时将zPosition设置为0,但这不能解决问题。我现在不触摸图层的任何组件(按钮,标签等)zPosition。

有什么想法吗?

编辑(09/25/2018 @ PST 3:23 PM): 值得注意的是,我确实在场景中启用了滑动手势。 SKSpriteNodes对滑动手势做出反应。

1 个答案:

答案 0 :(得分:0)

这是zPositioning的问题。

以下帖子使我意识到,由于zPositioning是如何从父级到子级计算的,因此存在重叠: zPosition of SKNode relative to its parent?