脚本的创建
在assert文件夹下找到script文件夹,右键creat->C#script
双击即可通过visual studio打开
注:文件名和类名必须一致
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SquareBehaviourScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
以上代码是unity自动创建的模板。
注:创建的类继承自MonoBehaviour,如果需要将脚本附在物体上,必须继承这个类
在脚本附在物体上后,会创建一个对象,而不是直接在代码中修改。
所有物体都是gameObject类的对象,将脚本附在物体上,就是将脚本创建的对象交给gameObject创建的对象存储
也就是说如果在unity界面修改参数,不会改变脚本中的变量
属性在编辑器中不显示,通常脚本不写,构造函数一定不能写(不能再子线程中访问主线程成员)
修改脚本模板
右键Unity打开文件夹所在位置
按照以下路径打开文件夹,选择81号文件,打开修改即可
脚本中的变量
脚本创建的对象在unity界面不能直接修改,需要在变量前面加上[SerializeField]
意思是在编译器中显示私有变量
例如:
[SerializeField]
private int a=100;
变量A显示在了unity界面中
相对的[HideInInspector]表示隐藏unity界面中的公共变量
[HideInInspector]
public int c = 200;
[range(0, 100)]该语句可以设定变量的取值范围,例如:
[range(0, 100)]
public int b;
脚本生命周期
- Awake:
当物体载入时立即调用一次,常用于在游戏开始时进行初始化。 - Start:
物体载入且脚本对象启用时调用一次,常用于数据或游戏逻辑初始化,执行时机晚于 awake
void Awake()
{
}
// Start is called before the first frame update
void Start()
{
}