Я пытаюсь заставить сенсорные события использовать трекпад в качестве дисплея при его перемещении.
Я имею в виду следующее:
Рассмотрим дисплей ноутбука Mac и представьте, что он точно соответствует размеру трекпада, или именно так я хочу, чтобы реализовывались сенсорные события.,Ранее в NSEvent было нормализованное свойство координат xy, которое, возможно, дало мне это, но, похоже, оно устарело.
Ниже приведены переопределения touchBegan и touchMoved и то, что я имею в виду:
override func touchesBegan(with event: NSEvent) {
CGDisplayMoveCursorToPoint(CGMainDisplayID(), event.location(in: overlayScene))
let player = SCNAudioPlayer(source: tick)
sineNode.addAudioPlayer(player)
}
override func touchesMoved(with event: NSEvent) {
let location = event.location(in: overlayScene)
guard let node = overlayScene.nodes(at: location).first else{
if currentSKNode != nil{
currentSKNode = nil
}
return
}
if currentSKNode != node{
currentSKNode = node
print(node.name)
let player = SCNAudioPlayer(source: tick)
sineNode.addAudioPlayer(player)
}
}
Представьте себе читатель fgraph, где оси x и y центрированы точно по ширине / 2 и высоте / 2 трекпада.Когда я касаюсь его где-либо, это должно отражаться точно в окне приложений, которое установлено в полноэкранный режим.
В настоящее время курсор мыши, кажется, только частично перемещается по экрану, когда я делаю полное перемещение слева направо, следовательно, пытаюсь переместить курсор мыши в положение NSView, или в этом случае SKScene.