一個 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 自動過濾常見的文本輸出,例如通過 遊戲內文本聊天 的消息,但 您有責任過濾您無法明確控制的任何顯示文本,包括 用戶透過文字輸入輸入的字符/字符串。