🏆 个人愚见,没事写写笔记
🏆《博客内容》:Unity3D开发内容
🏆🎉欢迎 👍点赞✍评论⭐收藏
🔎目标:Inspector窗口可编辑的变量
☀️实现:
Inspector窗口可编辑的变量就是继承MonoBehaviour脚本的成员变量
1.私有和保护的变量无法显示编辑
private int i1 = 1;
protected string str1 = "111";
2.私有和保护的变量可以显示出来
//特性:[SerializeField]
[SerializeField]
private int i2 = 2;
[SerializeField]
protected string str2 = "222";
3.公开的可以显示编辑
public int i3 = 3;
4.公开的可以让其隐藏
//特性:[HideInInspector][HideInInspector]public int i4 = 4;
5.基础类型大部分都能显示
public int i5 = 5;
public float f5 = 5.0f;
public string str5 = "555";
//字典是不能被显示在面板上的
public Dictionary<int, int> dic5;
6.自定义类型可以显示
//特性:[Serializable]
public Class6 class6;
public Struct6 struct6;...[Serializable]
public class Class6
{public int i6 = 6;public string str6 = "666";
}[Serializable]
public struct Struct6
{public int i6;public string str6;
}
7.辅助特性
// 1.分组说明特性Header[Header("显示标题")]public int i7 = 7;// 2.悬停说明特性Tooltip[Tooltip("f8说明")]public float f8 = 8.0f;// 3.间隔特性[Space()]public string str7 = "777";// 4.数值滑动条[Range(0, 10)]public double d7 = 7.7d;// 5.多行显示字符串,默认是3行[Multiline(4)]public string str77 = "77777777777777777777";// 6.多行显示字符串加滚动条[TextArea()]public string str777 = "77777777777777777777";// 7.为变量添加快捷方法[ContextMenuItem("显示按钮名", "ContextMenuItemTest")]public int i77 = 77;public void ContextMenuItemTest(){i77 = 777;}// 8.为方法添加快捷按钮[ContextMenu("ContextMenuTest")]public void ContextMenuTest(){print("ContextMenuTest");}
注意:
1.Inspector窗口可编辑的变量就是继承MonoBehaviour脚本的成员变量,运行时改变就是在改成员变量
2.已经在物体GameObject上的,改变脚本中的变量默认值,Inspector窗口对应的变量不变
3.运行中改变Inspector窗口上的变量值不会保存