在编写脚本的过程中我们会遇到一些小问题
比如一个的变量 为了在其他脚本中可以调用 我们需要写成public类型的
这样的话在Inspector面板中会出现此变量 这篇博客会给大家介绍一些方法去避免这些小问题
1.[Header(" ")]
这个的作用是给它下面的所有变量一个总标题
2.[Tooltip("")]
这个的作用是给下面的第一行(紧邻的语句)注释
这个注释和双斜杠的注释不同
这个注释的效果是在unity中鼠标拖到变量的名字上 他会出现注释(括号的双引号中的注释)
在这里我给大家一个例子 让大家可以明白一点
[Header("GameObject")]
[Tooltip("手枪")]
private GameObject SmallGunPlayer;
[Tooltip ("AK47"), SerializeField]
private GameObject BiglGunPlayer;
它的效果是
然后把鼠标拖到变量上边的时候是
大家对照脚本中的语句可以很轻易的理解了
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;
6.[Serializable]
这个的作用是 我们在脚本中声明一个类的时候
我们可以把它其中的变量改成一个可以展开 折叠的变量
可能上面的描述不太准确 下面给大家一个例子
public Mydate date;
[Serializable]
public class Mydate
{
public float q;
public float w;
public float m;
public float r;
}
它的效果是
很容易就看懂了吧
在上边提到了类,在这里给一些小白朋友们介绍一下最简单的类在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等中调用
通过上边介绍的所有方法可以制作出很多让你意想不到的效果
并且可以让你感觉这个真的好用
在这篇博客就介绍这些
希望大家工作学习顺利