有没有人知道统一执行异步任务的任何方式。我正在寻找一段时间,但找不到任何方法。
我正在尝试做一个着色游戏,有一个需要一些时间来处理的洪水填充算法。
谢谢你的帮助。
最佳答案
您可以在 Unity 中使用线程来执行异步任务。通常你运行分离的线程(从 Unity UI)来执行长时间运行的进程并检查结果(你不能从工作线程与 Unity 交互)。
常见的方法是使用一个表示线程作业的类,该作业将由 Unity 主线程初始化。然后你在那个类的函数上启动一个工作线程,让它完成它的工作(协程在 Unity 主线程上运行,所以不是真正的线程。关于协程的最佳文章是 here)
这是上述方法的示例(请参阅已接受的答案):
http://answers.unity3d.com/questions/357033/unity3d-and-c-coroutines-vs-threading.html
您可能还想尝试一个 UnityGems 包,它可以实现相同的效果但提供便利(例如闭包支持):
http://unitygems.com/threads/
哈。
最好的事物!
关于asynchronous - 如何在 Unity3D 中执行异步任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261939/