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

相关推荐
零基础的修炼3 天前
CUDA知识汇总
开发语言·c++·编辑器
Java后端的Ai之路4 天前
Git pull弹出vim编辑器完整排查指南
开发语言·人工智能·git·编辑器·vim
卷土重去4 天前
第 6 章 Linux 实操篇-Vi 和 Vim 编辑器
linux·编辑器·vim
一叶龙洲6 天前
Ubuntu24.04 Cursor导入vscode配置
vscode·编辑器
好悬给我拽开线7 天前
RoboTTT
ide·vscode·编辑器
山峰哥8 天前
造价算量系统SQL优化,慢查询从9秒压到35毫秒‌
大数据·数据库·sql·编辑器·深度优先
-To be number.wan9 天前
编译原理第三章:编译器是怎么“认字“的?——词法分析全解析
学习·编辑器
gzkuijing9 天前
MDI1PRD23B7‑EQ|Novanta IMS一体化RS-485/422步进电机参数、选型要点与典型应用
人工智能·机器学习·编辑器
晚风叙码10 天前
Linux(三)apt/yum 软件安装与 vim 编辑器入门指南
linux·编辑器·vim
民乐团扒谱机10 天前
【超详细】PyQt6 实现 AU 风格波形图编辑器:多级缩放与采样点逐级渲染,附全过程代码
开发语言·python·编辑器·pyqt·audition·时域·频谱图