首页 > 解决方案 > 如何编辑文本框的文本值?(机器人)

问题描述

我正在用 roblox 制作一个小游戏。我使用的本地脚本在工作空间内,所以这不像简单地写local textbox = script.Parent 我需要这个文本框的完整路径那么简单。它的名字是TextBox,现在我有:

local button = script.Parent

button.ClickDetector.MouseClick:Connect(function ()
    game.Players.LocalPlayer.PlayerGui.ScreenGui.TextBox.Text = "this is a test"
end)

当我运行此代码并单击游戏中的 obj 按钮时,它给了我这个错误:Workspace.button.click.OnClick:4: attempt to index nil with 'PlayerGui'

标签: luaroblox

解决方案


您的问题可能是因为您.MouseClick从服务器端脚本调用该函数,而game.Players.LocalPlayer只能从 LocalScript 调用。为了获得点击的玩家,ClickDetector您可以执行以下操作:

local button = script.Parent

button.ClickDetector.MouseClick:Connect(function(player) --Player param gives the player (in game.Players) who clicked the Click Detector
     player.PlayerGui.ScreenGui.TextBox.Text = "this is a test"
end)

推荐阅读