Не удается получить locationInView: для этого типа ошибки подтверждения NSTouch при попытке получить местоположение
Я пытаюсь получить местоположение мыши после того, как пользователь нажимает на определенный 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
}
}
1 ответ
-locationInView:
будет работать только для прикосновений type
NSTouchTypeDirect
, Если у вас Mac с сенсорной панелью, нажатие на нее приведет к событию с касанием типа NSTouchTypeIndirect
который не имеет места на экране.