1.常用的脚本标签:调整脚本组件的数据编辑以及编辑器上的一些功能菜单的拓展
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.Serialization;
[RequireComponent(typeof(AudioSource))] //给类添加。在给物体添加该标签标记的脚本类后,如果物体没有typeof中的组件则会自动给物体添加
[AddComponentMenu("Test/ComponentTest")] //给类添加。会出现在Component菜单中,点击后可以为物体添加对应的脚本类
[HelpURL("https://www.baidu.com")]//给类添加。将标记的脚本组件的右上角的小问号链接到给定的URL(那个小问号本身是链接到官方脚本文档的,相当于这里的标签修改了它的链接地址)
[DisallowMultipleComponent]//给类添加。标记的脚本只能对同一个物体添加一个该标记脚本,而不能添加多个该脚本
[ExecuteInEditMode]//给类添加。使脚本在编辑模式下也能执行生命周期函数,如Start、Update等。但是使用起来效果并不好。
public class Test : MonoBehaviour
{
private void Start()
{
Debug.Log("Start");
}
[HideInInspector]//隐藏公有变量在Inspector面板上显示
public int num;
[NonSerialized]//序列化属性,并可以隐藏公有属性
public int Nonnum;
[SerializeField]//使非公有属性序列化,并显示在面板上
private string playerName;
public Student stu;
[Header("文章标题")]//给变量加个标题
public string title;
[Space(30)]//设置上边距
public int edgeDistance;
[Tooltip("鼠标悬停在属性名上")]//鼠标悬停在属性名上显示的信息
public int hover;
[Range(0, 10)]//限制int、float、double类型变量的大小范围
public int hitDamage;
[Multiline(3)]//给string类型变量设置行数
public string text;
[TextArea]//给string类型变量设置成文本区域的形式显示
public string area;
[ColorUsage(true)]//调用颜色复选框,其中的true表示显示透明度设置
//注:如果要调节3D物体的透明度,需要将3D物体的材质的渲染模式改为Fade
public Color color;
[FormerlySerializedAs("obj")]//防止GameObject类型变量在拖拽赋值后,因改变了变量名而使引用丢失的情况,里面的参数是最初拖拽赋值时的变量名
public GameObject obj;
[MenuItem("菜单/菜单项 &%Q", priority =1)]//给unity菜单栏加功能菜单,该标签下可以加静态方法,表示功能按钮调用的方法,&%Q表示快捷键,%:Ctrl #:Shift &:Alt。存在多个菜单项时priority可以控制菜单项的显示优先级
static void ShowMenuItem()
{
Debug.Log("MenuItem");
}
[MenuItem("CONTEXT/Test/buttonl")]//Test表示脚本名,button1表示功能按钮名。在对应的脚本组件右上角的三个小点或齿轮的那里,点击button1,就会调用下面的静态方法
static void ShowInpectorInfo()
{
Debug.Log("InpectorInfo");
}
[ContextMenuItem("Test", "MyTest")]//给属性添加右键菜单功能按钮,Test表示右键菜单的功能按钮名,MyTest表示该功能对应得触发方法
public string printMyTest;
void MyTest()
{
Debug.Log("MyTest");
}
}
[System.Serializable]//使序列化的类中的公有变量可以在Inspector上显示
public class Student
{
public int id;
public string name;
private int age;
}
2.CreateAssetMenu标签:在Project的Create菜单中可以看到该标签表现得功能
(1)
因篇幅问题不能全部显示,请点此查看更多更全内容