您当前的位置: 首页 >  Peter_Gao_

AddComponent添加新脚本后脚本的执行顺序

Peter_Gao_ 发布时间:2020-07-11 15:47:59 ,浏览量:4

一个游戏物体通过脚本添加了另一个脚本,那新添加的脚本的执行顺序是怎么样的呢?

笔者做了以下的实验,在场景中添加了一个空的游戏物体,新建两个脚本:FirstScript.cs和SecondScript.cs,代码如下:

FirstScript.cs:

using UnityEngine;
using System.Collections;
 
public class FirstScript : MonoBehaviour {
 
    // Use this for initialization
    void Start () 
    {
        FirstPrint();
        test();
    }
 
    void FirstPrint()
    {
        Debug.Log("FristPrintFun");
        gameObject.AddComponent();
    }
 
    void test()
    {
        Debug.Log("TestFun");
    }
 
    // Update is called once per frame
    void Update () 
    {
        Debug.Log("FirstScript Update");
     } 
 }


SecondScript.cs:
using UnityEngine;
using System.Collections;
 
public class SecondScript : MonoBehaviour {
 
    void Awake()
    {
        Debug.Log("SecondScriptAwake");
    }
 
    // Use this for initialization
    void Start () 
    {
        Debug.Log("SecondScript");
    }
    
    // Update is called once per frame
    void Update () 
    {
        Debug.Log("SecondScript Update");
    }
}
然后把FirstScript挂到前面新建的游戏对象上,运行之后,Console打印的结果如下

通过打印可知,新添加的脚本SecondScript.cs会立即执行它Awake函数,然后等FirstScript.cs的Start函数执行完之后,就执行SecondScript.cs的Start函数,接着执行FirstScript.cs的Update函数,接着就是SecondScript.cs的Update函数
————————————————

引用:https://blog.csdn.net/HJS852275113/article/details/46441159

关注
打赏
查看更多评论

Peter_Gao_

暂无认证

  • 4浏览

    0关注

    534博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录