Unity编辑器扩展:窗口

一、概述

创建自定义编辑器窗口涉及以下简单步骤:

  • 创建一个派生自 EditorWindow 的脚本。
  • 使用代码触发窗口自行显示。
  • 实现工具的 GUI 代码。

二、派生自EditorWindow

为了创建编辑器窗口,必须将脚本存储在称为“Editor”的文件夹中。在派生自 EditorWindow 的此脚本内创建一个类。然后在内部 OnGUI 函数中编写 GUI 控件。

using UnityEngine;
using UnityEditor;
using System.Collections;

public class Example : EditorWindow
{
    void OnGUI () {
        // 此处为实际窗口代码
       }
}

三、显示窗口

要在屏幕上显示窗口,请创建一个菜单项来显示该窗口。为此,需要创建一个由 MenuItem 属性 激活的函数。

在 Unity 中,默认情况下会保持窗口状态(因此再次选择该菜单项将显示现有窗口)。这是使用 EditorWindow.GetWindow 函数实现的,如下所示:

using UnityEngine;
using UnityEditor;
using System.Collections;

class MyWindow : EditorWindow {
    [MenuItem ("Window/My Window")]
    public static void  ShowWindow () {
        EditorWindow.GetWindow(typeof(MyWindow));
    }
    
    void OnGUI () {
        // 此处为实际窗口代码
    }
}

四、实现窗口的 GUI

应通过实现 OnGUI 函数来渲染窗口的实际内容。可以使用与游戏内 GUI 相同的 UnityGUI 类GUIGUILayout。此外,我们提供了一些额外 GUI 控件,这些控件位于仅用于编辑器的 EditorGUIEditorGUILayout 类中。这些类将添加到普通类中已有的控件,因此您可以随意混合和搭配。

常用API可以查看“IMGUI常用API总结”。

参考

Unity中文手册:编辑器窗口

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值