如何在SpriteKit场景中检测作为按钮的节点

时间:2017-06-01 15:19:09

标签: ios swift

我有一个SpriteKit场景。使用以下代码行触发整个场景:

 self.view?.isUserInteractionEnabled = false

该场景是触控禁用的,以防止用户在此过程中过早地干扰少数节点(稍后将成为交互式节点)。

但是,我想以SpriteKit节点的形式向场景添加一个按钮。 此按钮应始终处于活动状态。

StackOverflow上有一些方法,但我真的不确定如何实现它们。

第一种方法:

涉及对UIView进行子类化然后应用“hittest”的东西。我没有上课,我不知道是否应该;我不知道在这种情况下我会怎么做。

第二种方法:

我尝试过单独禁用节点。我过去使用的代码用以下代码替换了上面的代码:

for child in fgNode.children {
     child.isUserInteractionEnabled = false
}

for child in bgNode.children {
     child.isUserInteractionEnabled = false
}

fgNode / bgNode是场景中所有节点的父节点。这些节点是子类,并且默认情况下会激活用户交互,此代码会尝试禁用,但在设置场景时无法执行此操作。

0 个答案:

没有答案