Unity之序列化字段[SerializeField] [HideInInspector]

本文深入解析Unity中序列化属性[HideInInspector]和[Serializable]的作用。[HideInInspector]用于隐藏原本显示在面板上的序列化值,而[Serializable]则使原本不可序列化的私有变量变为可序列化,便于在面板中读取和赋值。文章详细阐述了如何通过这些属性控制变量的可见性和可编辑性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来。
[SerializeField]表示将原本不会被序列化的私有变量和保护变量变成可以被序列化的,那么它们在下次读取的值就是你上次赋值的值。

注释:

  • 如果a是公有的序列化变量。

       (1)如果你想要在面板中看到变量a,那么用:
                    public int a;
        (2)如果你不想在面板中看到变量a,那么用:
                    [HideInInspector]
                    public int a;
                 这样a可以在程序中被代码赋值,但不会在面板中看到,也不能手动设置赋值。
    
  • 如果a是私有的序列化变量,你想在面板中读取并赋值,那么用:

             [SerializeField]
             private int a;
    

注:序列化的意思是说成员变量在Inspector中显示,并且再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来(当你再在代码中修改变量的值时间,Inspector里面变量的值是不变的,实际代码运行行所用的值也是取得Inspector里面变量的值)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值