Lua 无法访问Roblox文本框中的文本

Lua 无法访问Roblox文本框中的文本,lua,roblox,Lua,Roblox,每当我尝试在robloxian lua中执行这组代码时,我都无法访问文本框。这段代码是支持这样做的,但我认为它应该访问文本框中文本的属性。下面是我正在使用的代码的一些代表。那么,假设鲍勃想和约翰谈谈。我会这样写 game.StarterGui.ScreenGui.Frame.JohnsSpeech.Text = game.StarterGui.ScreenGui.Frame.JohnsUserSetText.Text 现在,johnssersettext是文本框,johnspeech是语音。但

每当我尝试在robloxian lua中执行这组代码时,我都无法访问文本框。这段代码是支持这样做的,但我认为它应该访问文本框中文本的属性。下面是我正在使用的代码的一些代表。那么,假设鲍勃想和约翰谈谈。我会这样写

game.StarterGui.ScreenGui.Frame.JohnsSpeech.Text = game.StarterGui.ScreenGui.Frame.JohnsUserSetText.Text
现在,johnssersettext是文本框,johnspeech是语音。但当我尝试这样做时,它不起作用。它只是说属性中的文本是什么。任何帮助都将不胜感激。谢谢好好休息一天

应该做什么? .Text是文本框或任何类似对象的属性

注意:您正在更改初学者gui,这意味着任何使用当前gui的人都不会得到更新的gui,直到他们死而复生。如果您想更新GUI中的一个,请通过Game.Players.playernamehere.PlayerGui访问它

StarterGui是游戏在重新加载所有内容(也称为:重生或加入)时导入到玩家中的内容


如果您需要更新每个玩家Gui的提示,请告诉我,我可以给出一些示例,正如M.Ziegenhorn所说,您的问题是您指的是初学者Gui,而不是玩家Gui

StarterGui是包含默认GUI的容器,将在生成时分发给玩家,而PlayerGui(例如game.Players.Ravenshield.PlayerGui)是为每个玩家存储GUI的地方。 PlayerGui只能通过LocalScript访问

访问PlayerGui最简单的方法显然是将LocalScript放在您正在使用的ScreenGui中。 否则,您也可以通过执行game.Players.LocalPlayer.PlayerGui轻松访问它

如果我将本地脚本直接放在我们使用的ScreenGui中,它可能如下所示:

local TextBox = script.Parent.TextBox
local SpeechLabel = script.Parent.SpeechLabel

SpeechLabel.Text = TextBox.Text
但是,您可能希望在他们将文本写入文本框时添加文本。然后我们需要看一下ROBLOX的文档,特别是

如果向下滚动到事件,可以查看TextBox.Changed事件。每次文本框的属性更改时,都会触发此操作。 我们还可以使用TextBox.FocusLost,它在客户端取消对TextBox的聚焦时触发。该事件提供一个布尔值“enterPressed”,它告诉我们客户端是否按下enter键以失去焦点

local TextBox = script.Parent.TextBox
local SpeechLabel = script.Parent.SpeechLabel

TextBox.FocusLost:Connect(function(enterPressed)
  if enterPressed then -- Checking if the enterPressed is true and not nil
    -- The user must have pressed enter to exit the TextBox.
    -- Could mean that they're done writing something.
    SpeechLabel.Text = TextBox.Text
  end
end)

必须使用:Connect方法绑定所有事件。这就是告诉ROBLOX开始“监听”事件的原因,以确保每次事件发生时函数都会触发。

显然,属性中的内容就是这样,这就是.Text所指的内容。我的意思是,我想从输入的文本框中获取文本。然后,您可能想做您所做的事情,但在播放器gui中,而不是初学者gui示例:“game.Players.bob.PlayerGui.ScreenGui.Frame.johnspeech.Text=game.PlayerGui.ScreenGui.Frame.johnssertext”操纵播放器gui很重要当玩家第一次加入游戏的时候,我仍然有点困惑如何引用它。到底是什么让你困惑?我可以试着更好地解释。最重要的是要理解StarterGui和PlayerGui之间的区别。StarterGui是一种服务,它包含每个玩家在生成时应该接收的所有GUI元素。如果您对这些对象进行更改,当前活着的玩家在复活之前不会看到它们。可以从这两种脚本类型访问内容。PlayerGui保存每个播放器的所有GUI元素。每个玩家都有自己的PlayerGui,并实时显示更改。只能通过LocalScription访问我对如何进入PlayerGUI并找到文本框感到困惑。