当前位置: 代码迷 >> 综合 >> Unity检视面板(Inspector)的属性显示
  详细解决方案

Unity检视面板(Inspector)的属性显示

热度:71   发布时间:2023-12-26 03:41:05.0

代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;[AddComponentMenu("自己的脚本/Test_Inspector")]  //只能用在类上,在菜单栏Commponent会增加一个 自己的脚本/Test_Inspector 的选项,
//用于在物体身上添加该脚本
[RequireComponent(typeof(Rigidbody))]   //在物体添加该脚本时,会自动添加Rigidbody组件
//typeof()中可以写自己的脚本,做到一次添加多个脚本的效果。
//需要注意的是,在该脚本还挂在物体上时,不能将typeof()中添加的组件卸载
[RequireComponent(typeof(Collider))]
public class Test_Inspector : MonoBehaviour {[SerializeField]    //强制去序列化一个private的字段,也就是说字段虽然是private的,但还是可以在Inspector面板来调整数值private int SerializeField;[HideInInspector]   //和上面的正好相反,将public的字段不在Inspector面板上显示。public int HideInspector;[System.NonSerialized]  //同样的将public的字段不在Inspector面板上显示public int NonSerialized;[Range(1,10)]   //滑动条来控制数值,最大值10,最小值1public int range;[Tooltip("我就是说明文本")]  //当鼠标光标停在字段上时,显示说明文本public string prompt;[Space(20)]     //设置字段上方空间为20,用于设置字段的间距public float space;[Header("我是标题")]public float title;  //在字段上方显示标题[Multiline(5)]      //用于显示多行文本public string multiline;[TextArea(1,5)]     //设置多行输入的文本字段,设置显示的最大值和最小值public string text;[System.Serializable]   //只可以对class,struct,enum,delegate进行序列化,不可对属性序列化。private enum Temp{test01 = 0,test02 = 1}
}

效果如下:

  相关解决方案