🏆 个人愚见,没事写写笔记
🏆《博客内容》: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窗口上的变量值不会保存