如何在Roblox Studio中修复可能无限延迟呈现的问题

我正在为我的游戏编写主菜单,但是我遇到了这个错误: Infinite yield possible on 'Players.Username.PlayerGui.Menu:WaitForChild("Sidebar")' 以下是我的代码: wait(5)

--Service
local Tween = game:GetService("TweenService")
--Variables
local Sidebar = script.Parent: WaitForChild("Sidebar")
local PlayBtn = Sidebar: WaitForChild("Play")
local CreditsBtn = Sidebar: WaitForChild("Credits")
local Title = Sidebar: WaitForChild("Title")

Tween:Create(
 Sidebar,
TweenInfo.new(0.4, Enum.EasingStyle.Quad,
Enum.EasingDirection.Out, 0, false, 0),
{Position = UDim2.new(0, 0, 0, 0)}
):Play()
点赞
用户13751360
用户13751360

有可能 :WaitForChild() 没有找到侧边栏对象,因此出现了错误。

通过实验重新配置侧边栏的值,以便它可以自己找到对象。

2020-06-15 23:51:56
用户88888888
用户88888888

为了防止可能引发无限反馈,您需要在等待中添加一个超时时间。

例如:

wait_time = 5
local Sidebar = script.Parent: WaitForChild("Sidebar", wait_time)

您也可以用任何其他值替换 wait_time(如果需要,也可以在等待中直接设置数字)。 您不必将其设置为较小的数字,如果要保持等待但不阻塞,可以将其设置为 999999999999999999999。

2020-06-21 21:54:35