前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >四、编辑器开发之EditorWindow

四、编辑器开发之EditorWindow

作者头像
CoderZ
发布2022-08-29 15:35:13
6750
发布2022-08-29 15:35:13
举报
文章被收录于专栏:用户10004205的专栏

Unity的使用,是在不同的编辑器窗口中进行,例如Scene、Game、Project、Hierarchy、Inspector等等,那么如何创建一个自定义的编辑器窗口?

首先需要EditorWindow类作为基类,例如我们创建一个ExampleWindow编辑器窗口:

代码语言:javascript
复制
using UnityEditor;

public class ExampleWindow : EditorWindow {}

我们使用MenuItem,创建一个窗口的入口:

代码语言:javascript
复制
    [MenuItem("Example/Open ExampleWindow")]
    static void OpenExampleWindow()
    {
        //打开窗口
    }

那么具体如何打开窗口?需要用到GetWindow函数:

代码语言:javascript
复制
public static EditorWindow GetWindow (Type t);
public static EditorWindow GetWindow (Type t, bool utility);
public static EditorWindow GetWindow (Type t, bool utility, string title);
public static EditorWindow GetWindow (Type t, bool utility, string title, bool focus);

param1: 窗口的类型。

param2: 窗口是否浮动,为true表示不能内嵌到unity其他窗口中去,为false表示能嵌入其他窗口,默认为false。

param3: 窗口的标题,默认为窗口的类名。

param4: 是否获得焦点,默认为true。

使用GetWindow获得窗口后,调用Show()函数即可打开窗口:

代码语言:javascript
复制
    [MenuItem("Example/Open ExampleWindow")]
    static void OpenExampleWindow()
    {
        EditorWindow.GetWindow(typeof(ExampleWindow)).Show();
    }

同样的,我们可以在窗口中添加Button、Toggle、Slider等元素,绘制string、color、int、float、enum等字段,具体方法在后续文章中进行介绍。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 当代野生程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档