我有一个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是场景中所有节点的父节点。这些节点是子类,并且默认情况下会激活用户交互,此代码会尝试禁用,但在设置场景时无法执行此操作。