首页 > 解决方案 > Roblox Studio 如何循环检查玩家姓名是否正确输入到 texbox

问题描述

我正在制作我的管理面板。我写这个的时候有个问题:

if script.Parent.Frame.PlayersTrollFrame.Textbox == game.Players.LocalPlayer.Name then
    print("yes")
else
    print("no")

如何在没有游戏脚本超时的情况下循环检查名称

标签: roblox

解决方案


您应该使用:GetPropertyChangedSignal(propertyName)函数来获取在更改某个属性时触发的事件,而不是在循环中检查文本框的内容。在这种情况下,我们希望获取在 Text 属性更改时触发的事件:

script.Parent.Frame.PlayersTrollFrame.TextBox:GetPropertyChangedSignal("Text"):Connect(function()
    if script.Parent.Frame.PlayersTrollFrame.Textbox == game.Players.LocalPlayer.Name then
        print("yes")
    else
        print("no")
    end
end)

:Connect(function)使得每当事件被触发时,它都会运行通过的函数。

但是,如果您出于某种原因确实需要使用循环,则可以通过将 if 语句放在while wait() do循环中来实现

while wait() do
    if script.Parent.Frame.PlayersTrollFrame.Textbox.Text == game.Players.LocalPlayer.Name then
        print("yes")
    else
        print("no")
    end
end

推荐阅读