文本输入字段

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处。

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

因为这些对象是 GuiObjects,你可以自定义 属性,例如 BackgroundColor3, BorderMode, Transparency,以及 Rotation 以适应你游戏的美学。

在屏幕上创建文本输入

在屏幕上的 TextBox 对于 表单的输入字段等功能非常有用。

要在屏幕上添加 TextBox:

  1. 在 Explorer 窗口中,选择 StarterGui 并添加 ScreenGui。

    1. 将鼠标悬停在 StarterGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。

    2. 插入一个 ScreenGui。

  2. 选择新的 ScreenGui 并添加一个 TextBox。

    1. 将鼠标悬停在 ScreenGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。

    2. 插入一个 TextBox。

在部件面上创建文本输入

要将 TextBox 添加到部件的面上:

  1. 在 Explorer 窗口中,选择 StarterGui 并添加 SurfaceGui。

    1. 将鼠标悬停在 StarterGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。

    2. 插入一个 ScreenGui。

  2. 选择新的 SurfaceGui 并添加一个 TextBox。

    1. 将鼠标悬停在 SurfaceGui 上并点击 ⊕ 按钮。会显示一个上下文菜单。

    2. 插入一个 TextBox。

  3. 将 SurfaceGui 装饰到你想要显示 TextBox 的 part 上。

    1. 在 Properties 窗口中,选择 Adornee 属性。你的光标会改变。

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

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。