您的位置:首页 > 其它

脚本Awake,Enable,Start执行顺序

2014-11-07 13:50 459 查看
为了解脚本中这三个方法的调用顺序,写了一个代码如下:

<span style="font-family: Arial, Helvetica, sans-serif;">public class TestScriptOrder : MonoBehaviour</span><span style="font-family: Arial, Helvetica, sans-serif;"> {</span><span style="font-family: Arial, Helvetica, sans-serif;">    public int id;</span><span style="font-family: Arial, Helvetica, sans-serif;">    void OnEnable()</span><span style="font-family: Arial, Helvetica, sans-serif;">    {</span><span style="font-family: Arial, Helvetica, sans-serif;">        Debug.Log("enable"+id);</span><span style="font-family: Arial, Helvetica, sans-serif;">   }</span><span style="font-family: Arial, Helvetica, sans-serif;">    void Awake()</span><span style="font-family: Arial, Helvetica, sans-serif;">    {</span><span style="font-family: Arial, Helvetica, sans-serif;">        Debug.Log("awake"+id);</span><span style="font-family: Arial, Helvetica, sans-serif;">    }</span><span style="font-family: Arial, Helvetica, sans-serif;">   void Start () </span><span style="font-family: Arial, Helvetica, sans-serif;">     {</span><span style="font-family: Arial, Helvetica, sans-serif;">	Debug.Log("start"+id);</span><span style="font-family: Arial, Helvetica, sans-serif;">     }</span><span style="font-family: Arial, Helvetica, sans-serif;">}</span>


再在场景中建立两个物体,分别为两个物体添加脚本,如图所示







运行之后得到的结果为:



从结果可以看出,同一个脚本中的Awake和Enable是一起执行的,执行的顺序是先Awake后Enable,而所用的脚本的Start是一起执行的,而所有脚本的执行还遵循一个规律,先执行Hierachy最上面物体悬挂的脚本然后从上到下,而每个物体上面悬挂的脚本的执行顺序是从下到上执行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: