脚本唤醒

单个脚本中函数执行顺序为:

唤醒(Awake)

激活(OnEnable)

开始(Start)

固定刷新(FixedUpdate)

模拟物理(Physics)

触发器的进入,离开等(Trigger)

碰撞器的进入,离开等(Collision)

刚体的Transform的位置和旋转的处理(Rigibody)

鼠标按下,抬起等事件(OnMouse)

刷新(Update)

骨骼动画的融合处理等(Animation Blend)

最后刷新(LateUpdate)

渲染(Rendering)

测试:

第一步:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Ac : MonoBehaviour {

    private void Awake()

    {

        Debug.Log(gameObject.name + "---------Awake");

    }

    // Use this for initialization

    void Start()

    {

        Debug.Log(gameObject.name + "---------Start");

    }

    private void OnEnable()

    {

        Debug.Log(gameObject.name + "---------OnEnable");

    }

}

第二步:我们建立3个对象(空物体也可以),分别命名为A,B,C,然后顺序拖放TestScriptsSequence脚本到这3个物体上,控制台输出


脚本唤醒_第1张图片

第三步:接着我们开始运行几秒然后停止,观察控制台输出的顺序:


脚本唤醒_第2张图片


每个物体的脚本的执行顺序与 第2步挂载的顺序 相反,后挂载的脚本先执行,先挂载的脚本后执行.

Awake和Enable函数成对出现.

如果脚本隐藏,对象隐藏,awake会还是执行。只是OnEnable和Start不执行。

你可能感兴趣的:(脚本唤醒)