0

在用户单击特定 SCNNode 后,我试图检索鼠标位置。我最终想执行一次命中测试以确定单击了哪个 SCNNode。我有以下代码,但是一旦我运行该项目,我就会收到一个断言错误,指出:“无法获取 locationInView:对于这种类型的 NSTouch”。任何帮助,将不胜感激。

override func touchesBegan(with event: NSEvent) {
    let touch = event.touches(for: self.view)
    if #available(OSX 10.12.2, *) {
        let location = touch.first?.location(in: self.view)
        let hitResults = sceneView.hitTest(location!, options: nil)

    } else {
        // Fallback on earlier versions
    }
}
4

1 回答 1

0

-locationInView:仅适用于. 如果您的 Mac 带有触控栏,按下它会导致带有触控类型的事件,该触控类型在屏幕上没有位置。type NSTouchTypeDirectNSTouchTypeIndirect

于 2018-02-12T18:19:25.447 回答