如何让游戏等到调用函数?

Posted

技术标签:

【中文标题】如何让游戏等到调用函数?【英文标题】:How do i make the game wait until a funcion is called? 【发布时间】:2017-03-27 09:36:28 【问题描述】:

我正在创建一个脚本,我想知道如何让游戏等到调用函数 如果有人支持我,将不胜感激

【问题讨论】:

你不能让“游戏”等待。 【参考方案1】:

首先不要使用循环,使用事件!

要等待 event 发生,您可以使用 wait 方法,如下所示:

print("Starting to wait for touch")
workspace.Part.Touched:Wait()
print("Touched!")

这将在继续脚本之前等待部件被触摸。 但是当然,其他脚本仍然会运行,游戏并没有“暂停”,只是该脚本的执行被暂停,直到事件被触发。

您还可以使用例如BoolValue 来自定义“等待呼叫”,如下所示:

local WaitObject = Instance.new("BoolValue")

function WaitOn()
    WaitObject.Changed:Wait()
end

function StopWait()
    WaitObject.Value = not WaitObject.Value
end

您还可以将 BoolValue 放置在游戏中,并在单独的脚本中执行等待和停止等待。 如果您在同一个脚本中执行此操作,请记住使用不同的threads

【讨论】:

实际上我在想像重复 wait() 直到函数 f1 或其他任何东西 @arthurgps2 不要使用循环。如果你追踪你真正在等待什么,你应该找到一个可以使用 ":wait()" 的事件。如果找不到这样的事件,请查看我在答案中输入的“BoolValue”内容,如果这不是您要查找的内容,则需要更清楚地解释您的特定问题。

以上是关于如何让游戏等到调用函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 android 应用程序等到电话完成?

如何让语句等到前一个函数完成?

如何等到回调被调用

如何等到回调被调用

等到三个 ajax 调用解决触发函数(延迟?)

SwiftUI - 等到 Firestore getDocuments() 完成后再继续