一、Unity的脚本简介
1、Unity的C#脚本质上就是一个类,将其挂载到一个物体上,相当于在用该类来创建了一个对象,然后用对象来执行指定的动作。如果不挂在物体上就无法创建实例。
2、不能再脚本中写构造函数
3、脚本示例:
- 文件名与类名必须一致,如下的脚本文件名为 test01,所以类名也是 test01
- 挂载到物体上的脚本类必须从 MonoBehaviour 类继承,因为它需要用到Unity定义的一些行为和对象。但是如果有的不需要挂载到物体上,则不需要继承MonoBehaviour类,此时其效率反而会更高。一个一般的C#类就不需要继承MonoBehaviour类。
- 写好的脚本必须挂载到物体上才能执行
- 脚本中的函数如 Start() 、Update() 等默认状态下,其属性为 Private
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test01 : MonoBehaviour {
// Use this for initialization
void Start () //Unity自动生成的
{
}
// Update is called once per frame
void Update () //Unity自动生成的,如果不用的话,最好将其删除或注释掉
{
}
public void A()
{
Debug.Log("Hello this is A()");
}
}
二、Unity脚本的常用属性
1、在脚本中的变量用 public 修饰时,则在别的脚本中可以访问该变量,且在 Unity的 Inspector 面板中可以直接进行显示和修改该变量。如: public int a;
2、想让该变量在 Unity的 Inspector 面板中可以显示,但又不希望别的脚本对其进行访问,则用如下的方式
3、别的脚本可以访问该变量,但又不想在编辑器中显示该变量,则用如下方式:
示例代码:
public class test01 : MonoBehaviour {
public int a=100;
[SerializeField] //序列化字段,在编辑器中显示私有变量
private int b;
[HideInInspector] //在编辑器中隐藏该字段,此时只能在代码里面进行访问
public int c;
[Range(0,100)] //设置参数d的设置范围
public int d;
}