游戏构成
游戏:场景1,场景2,…,场景n;
场景:游戏对象1, 游戏对象1,…,游戏对象n;
游戏对象:组件1,组件2,…,组件n;
脚本组件
添加一个脚本组件,其默认内容如下:
using UnityEngine;
using System.Collections;
// 继承自MonoBehaviour的类叫运行时类,运行时类不能手动实例化,即不能手动创建对象
public class Cube : MonoBehaviour {
// Use this for initialization
void Start () {
print("Start");
}
// Update is called once per frame
void Update () {
print("Update");
}
}
除了这两个方法之外,还有另外几个生命周期相关的方法:
using UnityEngine;
using System.Collections;
public class Cube : MonoBehaviour {
// 每当脚本被加载时调用,只会调用一次
// 可以在Awake中初始化public成员
void Awake() {
print("Awake");
}
// 在每次激活脚本时调用
// 可以在OnEnable中重置一些变量,比如计时器
void OnEnable() {
print("OnEnable");
}
// 在第一次调用Update之前,只调用一次
// 可以在Start中初始化一些private成员
void Start () {
print("Start");
}
// 每帧调用,可以更新数据
void Update () {
print("Update");
}
// 在Update方法之后调用,更新UI
void LateUpdate() {
print("LateUpdate");
}
// 取消激活后调用
void OnDisable() {
print("OnDisable");
}
// 脚本销毁时只调用一次
void OnDestroy() {
print("OnDestroy");
}
// 持续调用-IMGUI代码需要写在此方法中
void OnGUI() {
print("OnGUI");
}
// 以固定频率调用,不会受帧率影响
// 一般会把处理物理的代码放在这里
void FixedUpdate()
{
print("FixedUpdate");
}
}
调用顺序: Awake->OnEnable->Start->Update->LateUpdate->OnDisable->OnDestroy