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