Chinar 的初衷是将一种简单的生活方式带给世人 使有限时间 具备无限可能 |
助力快速完成 Editor 编辑器效果展示教程 为初学者节省宝贵的时间,避免采坑! |
Chinar 教程效果:
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 )
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址