Unity编辑器类

71 篇文章 3 订阅

Chinar blog www.chinar.xin

Editor 编辑器效果展示教程


本文提供全流程,中文翻译。

Chinar 的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能

Chinar ―― 心分享、心创新!

助力快速完成 Editor 编辑器效果展示教程

为初学者节省宝贵的时间,避免采坑!

Chinar 教程效果:
自定义Inspector 面板编辑器



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

AddComponentMenu ―― 添加 组件选项菜单


允许 将一个脚本作为组件选项 添加到菜单栏中的 Component 菜单中

然后你便可以通过

  • 菜单栏中的 Component →→自定义选项选中的游戏对象 添加该脚本组件
  • 通过 Inspector 面板上的 AddComponent 添加自定义选项

举个例子

using UnityEngine;


[AddComponentMenu("UI/Chinar")] //特性:将标记的类,作为 组件项添加到菜单栏 Component 中
public class ChinarAddMenu : MonoBehaviour
{
}

在这里插入图片描述


2

RequireComponent ―― 自动添加关联脚本项

添加脚本组件时,一次性将需要的脚本组件全部添加

  • 添加 自定义 脚本组件时,直接在对象上 附加 关联 组件项

  • 可同时附加 关联多项

移除脚本组件时,需要先将自定义脚本移除,才可以移除关联组件项

举个例子

using UnityEngine;


[AddComponentMenu("ChinarTest", -1)]    //特性:将标记的类,作为 组件项添加到菜单栏 Component 中
[RequireComponent(typeof(Rigidbody))]   //特性:添加 ChinarTest 脚本组件时,直接在对象上附加 Rigidbody 组件
[RequireComponent(typeof(BoxCollider))] //特性:同理
public class ChinarTest : MonoBehaviour
{
}

在这里插入图片描述


3

HelpURL ―― 帮助链接

如下所示:

       [HelpURL("http://www.chinar.xin")]//特性:添加网址链接
    public class ChinarTest : MonoBehaviour
    {
    }

在这里插入图片描述

4

Range() ―― 随机数

Range

**Range()属性用于将一个值指定在一定的范围内,并在Inspector面板中为其添加滑块;

如下所示:

        public class ChinarTest : MonoBehaviour
    {
        [Range(-2, 2)]//特性:随机数范围,随机数范围
        public int number;
    }

在这里插入图片描述

5

Multiline() ―― string 类型添加多行输入

Multiline

Multiline()属性用于给 string 类型添加多行输入;

如下所示:

       public class ChinarTest : MonoBehaviour
    {
        [Multiline(10)]//特性:行数
        public string text;
    }

在这里插入图片描述

5

header() ―― 添加属性的标题

header

header()属性用于添加属性的标题,具体操作如下所示:**

属下所示

      public class ChinarTest : MonoBehaviour
    {[Header("十行的文字描述")]//特性:标题描述
        [Multiline(10)]//特性:行数
        public string text;
    }

在这里插入图片描述

7

Tooltip() ―― 鼠标悬浮提示语

Tooltip

鼠标停留在Inspector的组件上的属性上时,弹出提示用语

如下所示:

        public class ChinarTest : MonoBehaviour
    {[Tooltip("提示语我不会写")]//特性:提示语描述
        [Multiline(10)]//特性:行数
        public string text;
    }

在这里插入图片描述

8

Space() ―― 设置组件的属性之间的距离长度

Space

在Inspector上设置组件的属性与属性之间的距离

如下所示:

       public class ChinarTest : MonoBehaviour
    {
        public string text;
        [Space(1)]//特性:上下属性的距离
        public int A;
        [Space(20.5F)]//特性:上下属性的距离
        public int B;
        [Space(30)]//特性:上下属性的距离
        public int C;
        [Space(4.3F)]//特性:上下属性的距离
        public int D;
        [Space(5)]//特性:上下属性的距离
        public int E;
    }

在这里插入图片描述

9

SerializeField() ―― 序列化属性

SerializeField

1在没有加入任何Attribute的前提下,public变量是默认被视为可以被Serialize的,所以会在Inspector看到它

2如果我们想要把Private对象也放在Inspector 看到他就要用到SerializeField这个特性

如下所示:

        public class ChinarTest : MonoBehaviour {
        [SerializeField]//特性序列化属性
        private int number; 
        }
    }

在这里插入图片描述

10

Serializable() ―― 序列化类

Serializable

用于 自定义的,非 abstract 的类. 结构体等 , 使这类型也能序列化

如下所示:

         public class ChinarTest : MonoBehaviour
    {
        public  A a;
    }
    [System.Serializable]//特性序列化类
    public class A
    {
        public int number = 20;
    }
    }

在这里插入图片描述

11

HideInInspector() ―― 返序列化

HideInInspector

表示将原本显示在面板上的序列化值隐藏起来

如下所示:

   [AddComponentMenu("UI/Chinar")]
       public class ChinarTest : MonoBehaviour
    {
        [HideInInspector]//反序列化
        public  A a;
    }
    [System.Serializable]//序列化类
    public class A
    {
        public int number = 20;
    }

在这里插入图片描述


支持

May Be ―― 开发者,总有一天要做的事!


拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


Chinar

END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值