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