学习借鉴于:http://www.jianshu.com/p/32ce8768607f
//1. 复位,在用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。
void Reset(){
Debug.Log ("Reset");
}
// 2. 唤醒,只执行一次,在所有对象初始化之后调用,用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内Awake仅被调用一次。
// 每个游戏物体上的Awake以随机的顺序被调用。所以在一般时候,用Awake来设置脚本间的引用,然后用Start来传递信息。
void Awake(){
Debug.Log ("Awake");
}
// 3.OnEnable:在Awake之后调用。控制脚本中组件的启动与禁用。
// 例如:this.enable=false,则会直接跳转到OnDisable方法执行一次,其它的任何方法,将不再被执行。
void OnEnable()
{
Debug.Log ("OnEnable");
}
// 4.Start函数总是在Awake函数之后调用。Start在生命周期中只被调用一次。
// Start和Awake的不同是Start只在脚本实例被启用时调用。你可以按需调整延迟初始化代码,协调初始化顺序。
void Start () {
Debug.Log ("Start");
}
// (每帧)固定帧(固定的时间间隔,不受帧率(FPS)影响)更新,更新频率默认为0.02s(1秒60次)。
// FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。
void FixedUpdate(){
Debug.Log ("FixedUpdate");
}
// (每帧)正常帧更新,每一帧都执行,用于更新逻辑。
// Update比较适合做控制。如果卡帧了Update就不会再执行,而FixedUpdate则继续执行。
void Update () {
Debug.Log ("Update");
}
// (每帧)在所有Update函数调用后被调用,和fixedupdate一样都是每一帧都被调用执行。
// LateUpdate可用于调整脚本执行顺序。如:人物执行在Update,相机跟随在LateUpdate,防止空帧。
void LateUpdate()
{
Debug.Log ("LateUpdate");
}
// 当程序暂停时调用,例如:电话、锁屏等事件触发
// 与之相关,还有OnApplicationFocus函数。当程序获得或失去焦点时调用
// 强制暂停时,先 OnApplicationPause,后 OnApplicationFocus;
// 重新“启动”手机时,先OnApplicationFocus,后 OnApplicationPause;
void OnApplicationPause()
{
Debug.Log ("OnApplicationPause");
}
// 脚本被卸载时,OnDisable将被调用(脚本不会被销毁)。OnDisable不能用于协同程序。常用于一些用于清理的事件。
void OnDisable()
{
Debug.Log ("OnDisable");
}
// 在应用退出之前发送给所有的游戏物体。
void OnApplicationQuit()
{
Debug.Log ("OnApplicationQuit");
}
// 当MonoBehaviour将被销毁时,这个函数被调用。OnDestroy只会在预先已经被激活的游戏物体上被调用。OnDestroy也不能用于协同程序。
// 注意,iOS程序通常暂停并不退出。你应该在Player settings中的iOS编译设置中选择Exit on Suspend(暂停时退出),这会使游戏退出并不会暂停,否则会看不到这个调用。
// 如果Exit on Suspend不选择,应该使用OnApplicationPause替代。
void OnDestroy()
{
Debug.Log ("OnDestroy");
}