Version: 6000.3
语言: 中文
管理更新和执行顺序
事件函数执行顺序

脚本执行顺序

除了脚本中函数的执行顺序外,应用程序的另一个重要考虑因素是 Unity 执行不同脚本组件的顺序。例如,如果您有两个脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
,EngineBehaviourSteeringBehaviour,您可能希望确保EngineBehaviour始终在更新之前SteeringBehaviour.

您可以通过以下方式配置脚本执行顺序:

  • 在 Unity 编辑器中,通过使用项目设置广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
    请参阅术语表
    窗。
  • 在代码中,通过应用[DefaultExecutionOrder]属性添加到 MonoBehaviour 派生类。

重要注意事项和限制

  • 在代码中定义的执行顺序[DefaultExecutionOrder]不会显示在“脚本执行顺序”设置窗口中。如果在代码中使用[DefaultExecutionOrder]但在编辑器的项目设置窗口中为相同类型定义不同的值,Unity 使用编辑器 UI 中定义的值。
  • 如果您将同一脚本的多个实例分配给不同的游戏对象,则执行顺序值较低的脚本的所有实例都会在执行顺序值较高的脚本的任何实例之前执行,无论哪个实例游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    他们依附于。
  • 当多个场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您可以放置环境、障碍物和装饰,实质上是分部分设计和构建游戏。更多信息
    请参阅术语表
    法加载时,配置的脚本执行顺序一次完全应用于一个场景,而不是部分应用于场景。在前面引用的示例中EngineBehaviour脚本配置为在SteeringBehaviour剧本,两者都会在更新下一个场景之前更新一个场景。
  • 当多个脚本具有相同的配置执行顺序或默认执行顺序时,它们之间的执行顺序不是确定性的。虽然顺序在测试期间可能看起来一致,但您永远不应依赖此行为,因为无法保证跨生成、计算机或 Unity 版本。有关详细信息,请参阅事件函数执行顺序
  • “脚本执行顺序”设置窗口中指定的执行顺序不会影响:

其他资源

管理更新和执行顺序
事件函数执行顺序