TextBox 是一个矩形,允许用户在其获得焦点时提供文本输入。当你 脚本化 一个 TextBox 时,可以将其用作搜索栏或表单上的输入字段。为了帮助用户了解他们应该输入什么类型的文本,你还可以通过 PlaceholderText 属性提供提示。

因为这些对象是 GuiObjects,你可以自定义 属性,例如 BackgroundColor3, BorderMode, Transparency,以及 Rotation 以适应你游戏的美学。
在屏幕上创建文本输入
在屏幕上的 TextBox 对于 表单的输入字段等功能非常有用。
要在屏幕上添加 TextBox:
在 Explorer 窗口中,选择 StarterGui 并添加 ScreenGui。
将鼠标悬停在 StarterGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。
插入一个 ScreenGui。
选择新的 ScreenGui 并添加一个 TextBox。
将鼠标悬停在 ScreenGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。
插入一个 TextBox。
在部件面上创建文本输入
要将 TextBox 添加到部件的面上:
在 Explorer 窗口中,选择 StarterGui 并添加 SurfaceGui。
将鼠标悬停在 StarterGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。
插入一个 ScreenGui。
选择新的 SurfaceGui 并添加一个 TextBox。
将鼠标悬停在 SurfaceGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。
插入一个 TextBox。
将 SurfaceGui 装饰到你想要显示 TextBox 的 part 上。
在 Properties 窗口中,选择 Adornee 属性。你的光标会改变。
在 Explorer 窗口中,选择该部件。
脚本化文本输入
像 按钮 一样,当用户与 TextBox 对象交互时,你可以为其脚本化任何操作。例如,以下脚本连接了 FocusLost 事件,该事件在用户按下 Enter 按钮或点击框外时触发。如果 enterPressed 为 true,意味着用户提交了输入而不是仅仅点击框外,脚本会将输入内容打印到 Output 窗口。
local textBox = script.Parent
local function onFocusLost(enterPressed, inputObject)
if enterPressed then
print(textBox.Text)
end
end
textBox.FocusLost:Connect(onFocusLost)作为另一个示例,你可能希望在 TextBox 中只允许数字。以下代码使用 TextBox.GetPropertyChangedSignal 事件来检测 TextBox.Text 何时更改,例如当用户开始输入时,然后使用 string.gsub() 函数来禁止非数字输入。
local textBox = script.Parent
local function allowOnlyNumbers()
textBox.Text = string.gsub(textBox.Text, "%D", "")
end
textBox:GetPropertyChangedSignal("Text"):Connect(allowOnlyNumbers)文本过滤
应用于各种来源和输入,文本过滤防止用户看到不当语言和个人可识别信息,如电话号码。Roblox会自动过滤常见的文本输出,例如通过游戏内文本聊天传递的信息,但您有责任过滤任何您没有明确控制的显示文本,包括 用户通过文本输入输入的字符/字符串。