鼠标单击相对于场景的位置,而不是窗口



在我的游戏中,我需要使用鼠标来选择单位。

但是,我遇到了问题,因为我不知道如何获取相对于游戏而不是窗口的点击坐标。

例如,如果单元 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!)

相关内容

  • 没有找到相关文章

最新更新