指定从 MonoBehaviour 派生的类的脚本执行顺序,相对于其他从 MonoBehaviour 派生的类型。
DefaultExecutionOrder
属性提供了一种方法,可以通过代码指定不同 MonoBehaviour 脚本之间的执行顺序,而不是通过 Unity 编辑器中的 项目设置 窗口。有关脚本执行顺序及其在编辑器中的配置的更多信息,请参阅手册中的 脚本执行顺序。
此属性针对类,但它只对从 MonoBehaviour 继承的类有效。
作为参数提供的整数值等同于在 **项目设置** 窗口的 **脚本执行顺序** 部分中设置的整数值。分配给从 MonoBehaviour 派生的类型的整数值确定该类型的脚本组件相对于其他 MonoBehaviour 脚本的执行顺序优先级。脚本按照从最低到最高的顺序执行,例如:-200、-100、-50、50、100、200。
注意:谨慎使用此属性。在代码中使用 DefaultExecutionOrder
定义的执行顺序不会显示在编辑器 **项目设置** 部分的 **脚本执行顺序** 中。如果您在代码中使用 DefaultExecutionOrder
为从 MonoBehaviour 派生的类型定义执行顺序,但在编辑器 **项目设置** 窗口中为同一类型定义了不同的值,Unity 将使用在编辑器 UI 中定义的值。
另请参阅:MonoBehaviour
using UnityEngine; // Add this script to a GameObject [DefaultExecutionOrder(50)] public class ExampleClass : MonoBehaviour { // This Start function will execute after the Start functions of any other MonoBehaviour scripts that // have an execution order < 50 and before any with an execution order > 50. If you define a different // execution order value for this ExampleClass in the Editor's Script Execution Order settings, the // value defined in Script Execution Order settings is the one applied at runtime. void Start() { Debug.Log("Execution order 50"); } }
order | 定义从 MonoBehaviour 派生的类的执行优先级顺序的整数。 |
DefaultExecutionOrder | 将从 MonoBehaviour 派生的类的脚本执行顺序设置为提供的整数参数的值。 |