检查是否已在此编辑器窗口的 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(); } }