在编写脚本的过程中我们会遇到一些小问题
比如一个的变量 为了在其他脚本中可以调用 我们需要写成public类型的
这样的话在Inspector面板中会出现此变量 这篇博客会给大家介绍一些方法去避免这些小问题

1.[Header(" ")]

这个的作用是给它下面的所有变量一个总标题

2.[Tooltip("")]

这个的作用是给下面的第一行(紧邻的语句)注释
这个注释和双斜杠的注释不同
这个注释的效果是在unity中鼠标拖到变量的名字上 他会出现注释(括号的双引号中的注释)

在这里我给大家一个例子 让大家可以明白一点

[Header("GameObject")]
    [Tooltip("手枪")]
    private GameObject SmallGunPlayer;
    [Tooltip ("AK47"), SerializeField]
    private  GameObject BiglGunPlayer;

它的效果是

unity实时修改参数_ide


然后把鼠标拖到变量上边的时候是

unity实时修改参数_双引号_02


大家对照脚本中的语句可以很轻易的理解了

3.[HideInInspector]

这个的用法是和在这篇博客开头的差不多
就是我们在一个不想出现在Inspector面板上出现的public变量
我们就在这个语句上添加[HideInInspector]即可
在unity的Inspector面板上就不会出现了
因为这个比较好理解 就不给例子了

4.[SerializeField]

这个和上面的语句相反 这个是private的变量
添加上这个语句之后的话
在unity的Inspector面板上可以改变其值 相当于public变量
不过private 具有一定的保护级别 这是和直接用public的区别

在这里最后提一下,以上语句可以一起用 效果可以重叠
具体效果在上面给出的代码和图片中可以发现

5.[Range( , )]

这个的用法是写在一个变量的前边(上边)
然后在unity的Inspector面板上就是一个类似于Slider的效果

[Range(2, 25)]
 public int maxRandomValue = 5;

unity实时修改参数_Unity_03

6.[Serializable]

这个的作用是 我们在脚本中声明一个类的时候
我们可以把它其中的变量改成一个可以展开 折叠的变量
可能上面的描述不太准确 下面给大家一个例子

public Mydate date;
   [Serializable]
   public class Mydate
    {
        public  float q;
        public  float w;
        public  float m;
        public  float r;
    }

它的效果是

unity实时修改参数_Unity_04

unity实时修改参数_c#脚本_05


很容易就看懂了吧

在上边提到了类,在这里给一些小白朋友们介绍一下最简单的类在unity中的用法

[Serializable ]
    public class prefebs
    {
        public GameObject Bullet;
        public GameObject Robot;
        public Transform Position;
    }
    public prefebs Prefebs;
    private void Update
    {
    	Prefebs.Robot.transform.Translate(transform.up*Time.deltatime*10);
    }

在上边很容易可以知道 在创建类之后在没在update start等中调用
通过上边介绍的所有方法可以制作出很多让你意想不到的效果
并且可以让你感觉这个真的好用

在这篇博客就介绍这些
希望大家工作学习顺利