版本:Unity 6 (6000.0)
语言English
  • C#

EditorWindow.mouseOverWindow

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static EditorWindow mouseOverWindow;

描述

鼠标光标当前所在的 EditorWindow。(只读)

如果光标下没有窗口,则mouseOverWindow 可以为 null。

其他资源:focusedWindow


将鼠标移到其他 Unity 窗口上以自动聚焦它们。

// The window appears in front of the Editor.
// The window shows the type of a Unity object the cursor is over.

using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;

public class MouseOverWindowExample : EditorWindow
{
    string mouseOver = "Nothing...";
    Label label;

    [MenuItem("Examples/Mouse Over Example")]
    static void Init()
    {
        GetWindow<MouseOverWindowExample>("mouseOver");
    }

    void CreateGUI()
    {
        label = new Label($"Mouse over: {mouseOver}");
        rootVisualElement.Add(label);
    }

    void Update()
    {
        label.schedule.Execute(() =>
        {
            mouseOver = EditorWindow.mouseOverWindow ?
                        EditorWindow.mouseOverWindow.ToString() : "Nothing...";
            label.text = $"Mouse over: {mouseOver}";
        }).Every(10);
    }
}