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会自动过滤常见的文本输出,例如通过游戏内文本聊天传递的信息,但您有责任过滤任何您没有明确控制的显示文本,包括 用户通过文本输入输入的字符/字符串。