c# - Unity3D 中 Update() 循环方法内的执行顺序

标签 c# c#-4.0 unity-game-engine logic unityscript

我正在尝试找到合适的词语来描述我遇到的问题,希望这能解释问题。

我在两个不同的类中有两个 Update() 方法,其中一个方法的某些功能依赖于另一个类的数据。代码A依赖于代码B的数据,使用Debug.Log()我发现代码B的Update()是在代码A的Update()<之后执行的/strong>.

我的问题是,是否有一个开箱即用的方法来控制 Update 方法的调用堆栈?如果有的话是怎么做到的?如果没有,是否有人有任何我可以用来解决问题的技术。我意识到我可以在代码 B 中创建可以从更新中的代码 A 调用的方法来解决问题,但我很好奇是否有其他方法可以解决问题。

最佳答案

来自 Unity 的 reference manual :

By default, the Awake, OnEnable and Update functions of different scripts are called in the order the scripts are loaded (which is arbitrary). However, it is possible to modify this order using the Script Execution Order settings.

这应该可以解决你的问题。

关于c# - Unity3D 中 Update() 循环方法内的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22867935/

相关文章:

c# - 使用 Azure SignalR 服务和 Azure Functions 进行本地开发

c# - 使用 LINQ 改进方法

c# - Parallel.For 和 For 产生不同的结果

c++ - 我可以写入嵌入式资源文本文件吗?

c# - 读取来自 HttpClient.GetStringAsync 的响应

c# - 如何为 Azure AD B2C 用户将 TokenValidationParameters.NameClaimType 设置为 "username"而不是 "name"?

c# - 动态地从动态对象中获取值

ios - 统一 3d |后处理构建 |在为 iOS 构建创建 xcode 项目时,如何从 unity 脚本将新的运行脚本添加到 PBXProject?

android - 将 Unity 项目导入 Android Studio

ios - 是否可以使用 ARCore 在 iOS 上实现面部增强功能?