【第一章编辑器开发基础第二节编辑器布局_2GUI中滚动列表(2/4)】

实现一个自定义窗口并且显示滚动列表,需要继承EditorWindow类,我会在代码里注释

csharp 复制代码
using UnityEngine;
using UnityEditor;

public class ExampleEditorWindow : EditorWindow
{
    // 添加菜单项,路径为"Example/Open Example Editor Window",这里的菜单项是unity顶部菜单项,具体效果看下面的图,当我我们点击出现的菜单项,他就会执行我们声明的方法,这里会执行Open这个方法
    [MenuItem("Example/Open Example Editor Window")]
    public static void Open()
    {
        // 获取或创建窗口实例并显示
        GetWindow<ExampleEditorWindow>().Show();
    }

    // 滚动视图的位置,用于记录和恢复滚动状态
    private Vector2 scrollPosition;


    /// <summary>
    /// unity编辑器自带方法,会自动调用
    /// </summary>
    private void OnGUI()
    {
        ScrollViewExaple(); // 滚动视图示例
       
    }

    // 滚动视图示例方法
    private void ScrollViewExaple()
    {
        // 开始滚动视图
        scrollPosition = GUILayout.BeginScrollView(scrollPosition);

        // 创建50个按钮作为滚动内容
        for (int i = 0; i < 50; i++)
        {
            GUILayout.Button("btn" + i);
        }

        // 结束滚动视图
        GUILayout.EndScrollView();
    }

    
}

运行效果图如下

这个Unity 编辑器窗口 (EditorWindow) 的生命周期函数调用顺序

相关推荐
esmap2 小时前
ESMAP 智慧消防解决方案:以数字孪生技术构建全域感知消防体系,赋能消防安全管理智能化升级
人工智能·物联网·3d·编辑器·智慧城市
大明者省3 小时前
激活函数选型速查表(核心规则)
编辑器
GitHubDaily4 小时前
Windows 欠了 30 年的那个原生编辑器,终于回来了。
编辑器
蓝丶曦月6 小时前
MacM系列芯片安装 最新版本Notepad--(平替Windows系统的Notepad++)详细教程
编辑器·notepad++·mac
jun_bai7 小时前
VSCode使用
ide·vscode·编辑器
CaracalTiger10 小时前
OpenClaw-VSCode:在 VS Code 中通过 WebSocket 远程管理 OpenClaw 网关的完整方案
运维·ide·人工智能·vscode·websocket·开源·编辑器
Web极客码12 小时前
WordPress从经典编辑器升级到古腾堡编辑器
运维·编辑器·wordpress
江湖有缘12 小时前
Docker部署music-tag-web音乐标签编辑器
前端·docker·编辑器
LYOBOYI1231 天前
vscode界面美化
ide·vscode·编辑器
浔川python社1 天前
关于浔川代码编辑器 v5.0 网页版上线时间的通知
编辑器