目前正在快速开发带有场景套件的游戏。我在SKScene
上添加了操纵杆,然后将其附加到我的场景工具包游戏场景中。典型的HUD控件叠加层。
let hudScene = SKScene(size: view.frame.size)
scnView.overlaySKScene = hudScene
我还向hudScene
添加了操纵杆,并希望添加一些按钮。现在,所有这些都可以正常工作,直到我将手势识别器添加到主游戏场景中为止。一旦完成,与hudScene
的所有点击交互将被完全忽略。即使我轻按操纵杆并记录在那个位置点击了哪个节点,它也为我提供了游戏场景中的节点,而完全忽略了hudScene
中的节点。
任何人都可以提供有关此情况发生原因的任何见解吗?
作为参考,操纵杆的触摸事件是从this library开始实现的,而我的手势识别器是这样实现的:
let touchDownRec = UILongPressGestureRecognizer(target: self, action: #selector(didTouchDown(_:)) )
touchDownRec.minimumPressDuration = 0
touchDownRec.numberOfTouchesRequired = 1
scnView.addGestureRecognizer(touchDownRec)
答案 0 :(得分:0)
我遇到了同样的问题...您必须将 touchesBegan 替换为 TapGesture ,或将 UILongPressGestureRecognizer 替换为 touchesEnded ,但更确切地说是第一个选项。