【问题标题】:Godot: Check if mouse cursor is inside viewportGodot:检查鼠标光标是否在视口内
【发布时间】:2021-03-08 02:46:49
【问题描述】:

在 Godot 3.2 中,如何检查鼠标光标当前是否在根视口内(项目在窗口视口中运行,而不是全屏)?

我研究过 Viewport 可以是 ViewportContainer 的子代,而 ViewportContainer 本身继承了 has_focus() 方法 - 但根视口没有容器。即使这样,我也不确定这是否会捕获鼠标运动,因为 available focus modes 仅包括“抓住鼠标点击或使用键盘上的箭头和 Tab 键”。

另一种方法是评估视口在屏幕上的大小和位置与屏幕坐标中的鼠标位置 - 但我找不到提供屏幕全局坐标的正确方法。

【问题讨论】:

    标签: godot


    【解决方案1】:

    您可以跟踪NOTIFICATION_WM_MOUSE_ENTERNOTIFICATION_WM_MOUSE_EXIT 通知。 Here's the docs.

    在鼠标第一次进入/退出之前,这可能会也可能不会起作用——在我的测试中,我有时会收到 MOUSE_ENTER 通知,有时我没有。如果这对您很重要,您可以通过检测窗口中的鼠标移动来解决它。

    【讨论】:

      猜你喜欢
      • 2016-03-26
      • 1970-01-01
      • 2022-07-12
      • 2016-08-14
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 2019-05-05
      • 2021-03-07
      相关资源
      最近更新 更多