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

相关推荐
VidDown3 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
VidDown3 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
夜猫逐梦4 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown4 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
爱就是恒久忍耐4 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
bloglin999994 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
zyplayer-doc4 天前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新
古德new4 天前
鸿蒙PC迁移:Photoflare Qt 图片编辑器鸿蒙PC适配全记录
qt·编辑器·harmonyos
春日见4 天前
vscode的AI编程插件推荐:
大数据·ide·vscode·算法·机器学习·编辑器·ai编程
jieshenai5 天前
VScode sys.path,并使CTRL+左键可访问源码
ide·vscode·编辑器