Version: 2020.3

EditorWindow.wantsMouseMove

切换到手册
public bool wantsMouseMove ;

描述

检查是否已在此编辑器窗口的 GUI 中收到 MouseMove 事件。

如果设置为 true,则每当鼠标移动到窗口之上时,该窗口都会收到一次 OnGUI 调用。

注意:此函数不会自动触发 Repaint()。

\ 编辑器窗口,用于检测在激活切换按钮且鼠标位于窗口之上后发生的鼠标移动。

// Editor Script that shows the mouse movement events
// captured.  With "Receive Movement" set to true the position of the
// mouse over the window will be reported.
// "Mouse Position" shows where the mouse is outside of the window.

using UnityEditor; using UnityEngine; using System.Collections;

public class Example : EditorWindow { [MenuItem("Example/Mouse Move Example")] static void InitWindow() { Example window = (Example)GetWindowWithRect(typeof(Example), new Rect(0, 0, 300, 100)); window.Show(); }

void OnGUI() { wantsMouseMove = EditorGUILayout.Toggle("Receive Movement: ", wantsMouseMove); EditorGUILayout.LabelField("Mouse Position: ", Event.current.mousePosition.ToString());

// Repaint the window as wantsMouseMove doesnt trigger a repaint automatically if (Event.current.type == EventType.MouseMove) Repaint(); } }