检查是否已在此编辑器窗口的 GUI 中收到 MouseMove 事件。
\ 编辑器窗口,用于检测在激活切换按钮且鼠标位于窗口之上后发生的鼠标移动。
// Editor Script that shows the mouse movement events captured. // "Mouse Position" shows where the mouse is outside of the window. using UnityEditor; using UnityEngine; using System.Collections; using UnityEngine.UIElements; public class PointerMove : EditorWindow { [MenuItem("Examples/Mouse Move Example")] static void InitWindow() { PointerMove window = (PointerMove)GetWindowWithRect(typeof(PointerMove), new Rect(0, 0, 300, 100)); window.Show(); } Label m_PointerPosition; void CreateGUI() { rootVisualElement.pickingMode = PickingMode.Position; // Create a toggle button that toggles the value of wantsMouseMove var toggle = new Toggle { text = "Receive Movement" }; wantsMouseMove = toggle.value; rootVisualElement.Add(toggle); m_PointerPosition = new Label(); rootVisualElement.Add(m_PointerPosition); toggle.RegisterValueChangedCallback((evt) => { if (evt.newValue) rootVisualElement.RegisterCallback<PointerMoveEvent>(LogPointerMoved); else rootVisualElement.UnregisterCallback<PointerMoveEvent>(LogPointerMoved); }); } void LogPointerMoved(PointerMoveEvent evt) { m_PointerPosition.text = $"Pointer Position: {evt.position}"; } }