脚本唤醒

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

唤醒(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个物体上,控制台输出


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




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

Awake和Enable函数成对出现.

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容