【第一章编辑器开发基础第二节编辑器布局_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) 的生命周期函数调用顺序

相关推荐
bkspiderx39 分钟前
解决VS Code锁定编辑器组导致跳转定义/声明自动拆分编辑器问题
编辑器·vs code·锁定编辑器·跳转定义/声明自动拆分编辑器
果粒蹬i1 小时前
自建私有仪表盘:Dashlet 部署与公网访问全教程
人工智能·编辑器
Clownorange2 小时前
node安装教程
编辑器
淮北49410 小时前
vim学习进阶
学习·编辑器·vim
相思难忘成疾1 天前
RHEL9 文件管理与 vi/vim 编辑操作实验
linux·编辑器·vim
im_AMBER1 天前
万字长文:编辑器集成Vercel AI SDK
前端·人工智能·react.js·前端框架·编辑器
狂龙骄子2 天前
键盘布局编辑器Keyboard Layout Editor
编辑器·keyboard·layout editor·keyboard layout·键盘布局编辑器·键盘布局设计
zhensherlock2 天前
Protocol Launcher 系列:Trae AI 编辑器的深度集成
javascript·人工智能·vscode·ai·typescript·编辑器·ai编程
Never_Satisfied2 天前
将web服务绑定在 1024 以下的端口上
前端·编辑器·vim
山峰哥3 天前
查询优化案例:从慢查询到闪电般的查询速度
数据库·sql·性能优化·编辑器·深度优先