Inspector窗口可编辑得变量

通过inspector窗口来初始化一些成员变量,弥补了继承MonoBehaviour类不能使用new方法初始化操作。

1.默认私有和保护无法显示编辑
private int i1;
protected String str1;

2.让私有得和保护得也可以被显示

加上强制序列化特性

[SerializeField]

序列化:把一个对象保存到一个文件或者数据库字段中

[SerializeField]
private int privateInt;
[SerializeField]
protected String protectedStr;

3.公共的可显示编辑
public int publicInt = 10;
public bool pubulicBool = false;

4.公共的也不让其显示编辑

在变量前添加特性[HideInInspector]

[hideInInspector]
public int publicInt2 = 50;

5.大部分类型都能显示编辑
public Enum E_TestEnum
{
    Normal,
    Player,
    Monster
}

//结构体
public struct MyStruct
{
    public int age;
    public bool sex;
}

public class MyClass
{
    public int age;
    public bool sex;
}


//一个脚本里面只能有一个继承MonoBehaviour类
public class Lesson2 : MonoBehaviour
{
    public int[] array;
    public List<int> list;
    public E_TestEnum type;
    public GameObject gameObj;

    //自定义,字典不能被Inspector窗口显示
    public Dictionary<int,String> doc;
    //自定义类型变量
    public MyStruct myStruct;
    public MyClass;
}

6.让自定义类可以被访问

//加上序列化特性[System.Serializable]

//字典怎么都不得行

public Enum E_TestEnum
{
    Normal,
    Player,
    Monster
}

//结构体
[System.Serializeble]
public struct MyStruct
{
    public int age;
    public bool sex;
}

[System.Serializeble]
public class MyClass
{
    public int age;
    public bool sex;
}


//一个脚本里面只能有一个继承MonoBehaviour类
public class Lesson2 : MonoBehaviour
{
    public int[] array;
    public List<int> list;
    public E_TestEnum type;
    public GameObject gameObj;

    //自定义,字典不能被Inspector窗口显示
    public Dictionary<int,String> doc;
    //自定义类型变量
    public MyStruct myStruct;
    public MyClass;
}

注意:前六个知识点非常重要,非常常用

7.一些辅助特性
(1).分组说明特性Header

写法:[Header("分组说明")]

[Header("基础属性")]
public int age;
public bool sex;
[Header("战斗属性")]
public int atk;
public int def;

(2).悬停注释Tooltip

写法:[Tooltip("说明内容")]

[Tooltip("闪避")]
public int miss;

(3).间隔特性 Space()

写法:[Space()]

[Space()]
public int crit;

(4).修饰数值的滑条范围Range

写法:[Range(最小值,最大值)]

[Range(0,10)]
public float luck;

可以用拖动跳改变值

(5).多行显示字符串,默认不写3行写参数就是对应行

写法:[Multiline(4)]

[Multiline()]
public string tips;

(6).滚动条显示字符串

默认不写参数就是超过3行显示滚动条

写法:[TextArea(3,4)]//最少显示3行,最多4行,超过4行就显示滚动条

(7).为变量添加快捷方法 ContextMenuItem

//参数1 显示按钮名

//参数2 方法名 不能有参数

写法:[ContextMenuItem("显示按钮名","方法名")]

[ContextMenuItem("重置钱","Test")]
public int money;

//方法无返回值,无参数
public void Test()
{
    money = 99;
}

在money处点击右键

执行结果

(8) 为方法添加特性能够在Inspector中执行

写法:[ContextMenu("测试函数")]

用来测试

[ContextMenu("哈哈哈哈")]

prviate void TestFun()
{
print("测试方法");
}

结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值