Unity Tricks 您可以定义脚本执行顺序

2017-8-15 14:35| 发布者: guangling| 查看: 401| 评论: 0|原作者: 青春L

摘要: 您可以定义脚本执行顺序您知道脚本的执行顺序吗?您可能知道在Update()之前,Start()会被执行,但是哪个Start()会先执行呢?在Unity 3D中有一个小的东西叫做脚本执行命令,你应该知道它。 假设我们有三个这样的脚本:Sc ...
您可以定义脚本执行顺序
您知道脚本的执行顺序吗?您可能知道在Update()之前,Start()会被执行,但是哪个Start()会先执行呢?在Unity 3D中有一个小的东西叫做脚本执行命令,你应该知道它。

假设我们有三个这样的脚本:
Script1.cs
[AppleScript] 纯文本查看 复制代码
using UnityEngine;
public class Script1 : MonoBehaviour {
        void Start() {
                Debug.Log("This is Script1");
        }
}
Script2.cs
[AppleScript] 纯文本查看 复制代码
using UnityEngine;
public class Script2 : MonoBehaviour {
        void Start() {
                Debug.Log("This is Script2");
        }
}
Script3.cs
[AppleScript] 纯文本查看 复制代码
using UnityEngine;
public class Script3 : MonoBehaviour {
        void Start() {
                Debug.Log("This is Script3");
        }
}
然后,如果我将这三个脚本放入3个不同的游戏对象中,那么控制台窗口将会是什么样的呢?答案是,顺序是未知的,结果可能是随机的。以下是第一次执行脚本时的情况:

224033el29sclzkvzl12lb.png.thumb.jpg
第一次执行
然后过了一会儿:
224034fcn1qa6wznpz919c.png.thumb.jpg
第二次运行

这是一个严重的问题,因为你希望你的游戏是可以预测的。这种行为也可能导致难以理解和重现问题。

脚本执行顺序
Unity有一个解决这个问题的办法。到编辑-项目设置-脚本执行命令,并将你的三个脚本添加到这个列表中,就像这样:
224033twi5ipfik0xtvxx5.png.thumb.jpg

脚本执行命令100、200和300个订单号。带有较低数字的脚本将在更高的脚本之前执行。修改之后,记得点击Apply按钮,从现在开始,您的列表脚本将始终按照相同的顺序执行。


1
首存1元送彩金的博彩_首存一元送彩金38博彩_首存1元送彩金论坛