首页 > 解决方案 > 尝试同时运行两个循环 Minecraft ComputerCrafft

问题描述

这是我的代码 https://pastebin.com/fnZreFKA 我已经尝试了所有协程选项,我在两个函数的每个函数的开头都有打印语句,它打印,但它在循环中没有做任何事情

coroutine.wrap(constantWork)()
coroutine.wrap(lookForKeys)()

循环在第 170 行之后开始

标签: luaminecraftcomputercraft

解决方案


因为它们不是分离线程,它们是绿色同步线程,只有其中一个会运行当时的代码

要模拟多任务处理,您忘记使用 yield。coroutine.yield调用协程后暂停线程并运行下一个代码。您可以稍后通过再次调用包装的协程或使用 coroutine.resume 来恢复协程(如果您使用coroutine.create.

在此处阅读文档:https ://www.lua.org/pil/9.html


推荐阅读