鼠标点击相对于场景的位置,不是window
Position of mouse click relative to scene, not window
在我的游戏中我需要使用鼠标到select个单位。
但是,我遇到了问题,因为我不知道如何获取相对于游戏的点击坐标,而不是 window。
例如,如果第 1 单元位于游戏的 (0,0) 点,它可能位于 window 上的任何一点,具体取决于我如何平移和缩放 window , 但我希望鼠标点击 return (0,0) 无论我如何移动 window 只要我点击同一个点。
现在我正在使用:
override func mouseDown(with event: NSEvent) {
eventPos = event.location(in: self)
...
}
(其余代码与鼠标点击位置无关)
这一切都在一个 GameScene 中,它是一个 SKScene。那么如何获取鼠标点击相对于GameScene的位置呢?
您需要将您的点从视图坐标转换为场景坐标:
eventPos = view!.convert(event.locationInWindow, to: view!.scene!)
在我的游戏中我需要使用鼠标到select个单位。
但是,我遇到了问题,因为我不知道如何获取相对于游戏的点击坐标,而不是 window。
例如,如果第 1 单元位于游戏的 (0,0) 点,它可能位于 window 上的任何一点,具体取决于我如何平移和缩放 window , 但我希望鼠标点击 return (0,0) 无论我如何移动 window 只要我点击同一个点。
现在我正在使用:
override func mouseDown(with event: NSEvent) {
eventPos = event.location(in: self)
...
}
(其余代码与鼠标点击位置无关)
这一切都在一个 GameScene 中,它是一个 SKScene。那么如何获取鼠标点击相对于GameScene的位置呢?
您需要将您的点从视图坐标转换为场景坐标:
eventPos = view!.convert(event.locationInWindow, to: view!.scene!)