TextBox

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Một TextBox cho phép người chơi cung cấp đầu vào văn bản.Nó hành xử tương tự như một TextButton , ngoại trừ rằng một TextBox duy nhất có thể được đưa vào trọng tâm bằng cách nhấp chuột, chạm hoặc lựa chọn gamepad.Trong khi tập trung, người chơi có thể sử dụng bàn phím để thay đổi thuộc tính Text.

  • Nếu không có văn bản, PlaceholderText sẽ hiển thị. Điều này hữu ích khi yêu cầu người chơi loại hoặc định dạng dữ liệu họ nên nhập.
  • Mặc định, thuộc tính ClearTextOnFocus được bật và đảm bảo không có văn bản hiện có khi một TextBox được tập trung.Điều này có thể không mong muốn đối với văn bản nên được chỉnh sửa bởi người chơi.
  • Thuộc tính MultiLine cho phép người chơi nhập nhiều dòng văn bản với các ký tự dòng mới ( \n ).

The ContextActionService tôn vinh các phím TextBox và sẽ tự động ngăn chặn sự kiện nhấn phím không được chuyển đến các hành động được gắn với ContextActionService:BindAction() .UserInputService.InputBegan và các sự kiện liên quan vẫn sẽ bắt lửa trong khi một TextBox đang ở trong tâm trí.

Tập trung trạng thái

Việc phát hiện và thay đổi trạng thái tập trung của một TextBox là có thể:

  • Bạn có thể sử dụng CaptureFocus khi một hộp thoại xuất hiện để người chơi không phải nhấp vào một TextBox khi nó trở nên có sẵn; bạn có thể sử dụng ContextActionService:BindAction() để gắn một phím cụ thể vào tập trung một TextBox bằng cách sử dụng chức năng này.Khi một TextBox đi vào tập trung, sự kiện Focused bắt lửa.
  • Bạn có thể phát hiện xem một TextBox nhất định có đang ở trong tâm điểm hay không bằng cách sử dụng IsFocused . Hoặc thay thế, UserInputService:GetFocusedTextBox() có thể được sử dụng để kiểm tra xem có bất kỳ TextBox nào đang ở trong tâm điểm hay không.
  • Khi người chơi hoàn thành nhập văn bản, sự kiện FocusLost xảy ra, cho thấy nếu người dùng đã nhấn Enter để gửi văn bản cùng với InputObject gây mất tập trung.Khi sử dụng bàn phím trên màn hình trên di động và bảng điều khiển, ReturnPressedFromOnScreenKeyboard cũng có thể bắn.
  • Nếu một số vấn đề quan trọng hơn xuất hiện trong lúc chơi trải nghiệm trò chơi, bạn có thể ReleaseFocus của TextBox để đảm bảo rằng lượt nhập của bàn phím của một người chơi trở lại trò chơi của bạn.

Chỉnh sửa văn bản

Một TextBox hỗ trợ lựa chọn văn bản thông qua các thuộc tính CursorPositionSelectionStart của nó.Sử dụng GetPropertyChangedSignal, bạn có thể phát hiện khi một lựa chọn thay đổi.Ngoài ra, người chơi có thể sao chép và dán văn bản vào một TextBox, bật khả năng hỗ trợ chuyển nhượng cơ bản.

Thông báo lọc văn bản Trò chơi dễ dàng giao tiếp người chơi với người chơi bằng văn bản, chẳng hạn như trò chuyện tùy chỉnh hoặc thẻ tên, phải lọc văn bản đó một cách thích hợp bằng TextService:FilterStringAsync() hoặc Chat:FilterStringAsync() .Nếu điều này không được thực hiện đúng cách, trò chơi của bạn có thể nhận được hành động kiểm duyệt.

Mẫu mã

This code sample creates a password-like interface for a TextBox, giving visual feedback on the player's input.

TextBox Secret Word

-- Place this code in a LocalScript inside a TextBox
local textBox = script.Parent
local secretWord = "roblox"
local colorNormal = Color3.new(1, 1, 1) -- white
local colorWrong = Color3.new(1, 0, 0) -- red
local colorCorrect = Color3.new(0, 1, 0) -- green
-- Initialize the state of the textBox
textBox.ClearTextOnFocus = true
textBox.Text = ""
textBox.Font = Enum.Font.Code
textBox.PlaceholderText = "What is the secret word?"
textBox.BackgroundColor3 = colorNormal
local function onFocused()
textBox.BackgroundColor3 = colorNormal
end
local function onFocusLost(enterPressed, _inputObject)
if enterPressed then
local guess = textBox.Text
if guess == secretWord then
textBox.Text = "ACCESS GRANTED"
textBox.BackgroundColor3 = colorCorrect
else
textBox.Text = "ACCESS DENIED"
textBox.BackgroundColor3 = colorWrong
end
else
-- The player stopped editing without pressing Enter
textBox.Text = ""
textBox.BackgroundColor3 = colorNormal
end
end
textBox.FocusLost:Connect(onFocusLost)
textBox.Focused:Connect(onFocused)

Tóm Tắt

Thuộc Tính

  • Đọc Song Song

    Xác định xem nhấp vào TextBox có xóa bỏ tính chất TextBox.Text của nó hay không.

  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song
  • Đọc Song Song

    Xác định offset của con trỏ văn bản bằng byte hoặc -1 nếu không có con trỏ.

  • Ẩn
    Không Sao Chép
    Đọc Song Song

    Xác định phông chữ được sử dụng để render văn bản.

  • Đọc Song Song

    Xác định phông chữ được sử dụng để render văn bản.

  • Đọc Song Song

    Tăng khoảng cách giữa các dòng văn bản trong TextBox .

  • Đọc Song Song

    Số tối đa các grapheme mà TextBox có thể hiển trình diễn.

  • Đọc Song Song

    Khi được đặt thành true, văn bản bên trong TextBox có thể di chuyển sang nhiều dòng. Điều này cũng cho phép người chơi sử dụng phím enter để di chuyển sang một dòng mới.

  • Đọc Song Song
  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song
  • Đọc Song Song

    Đặt màu văn bản được sử dụng khi chưa có văn bản nào được nhập vào TextBox.

  • Đọc Song Song

    Đặt văn bản được hiển thị khi chưa có văn bản nào được nhập vào TextBox.

  • Đọc Song Song

    Xác định xem TextBox có hiển thị chuỗi TextBox.Text bằng cách sử dụng định dạng dữ liệu giàu hay không.

  • Đọc Song Song

    Xác định vị trí bắt đầu của một lựa chọn văn bản, hoặc -1 nếu không có văn bản được lựa chọn.

  • Đọc Song Song

    Nếu được đặt thành true, nhập bản địa vào nền tảng được sử dụng thay vì bàn phím mặc định của Roblox.

  • Đọc Song Song

    Xác định chuỗi được hiển thị bởi thành phần UI.

  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Kích thước của văn bản của một thành phần UI trong khấu trừ.

  • Đọc Song Song

    Xác định màu của văn bản được hiển thị.

  • Đọc Song Song

    Xác định xem người dùng có thể thay đổi Text hay không.

  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Xem có phù hợp với các hạn chế của TextBox không.

  • Đọc Song Song

    Thay đổi xem liệu văn bản có được thay đổi kích cỡ để phù hợp với đối tượng GUI hiển thị nó.

  • Đọc Song Song

    Xác định chiều cao dòng của văn bản trong khấu trừ.

  • Đọc Song Song

    Xác định màu của đường viền văn bản (đường viền).

  • Xác định độ trong suốt của đường viền văn bản (đường viền).

  • Đọc Song Song

    Xác định độ trong suốt của văn bản được hiển thị.

  • Kiểm soát việc rút ngắn văn bản được hiển thị trong TextBox này.

  • Đọc Song Song

    Xác định xem văn bản cuộn vào nhiều dòng trong không gian thành phần GuiObject, cắt bỏ văn bản dư thừa.

  • Xác định sự xếp hàng ngang của văn bản được hiển thị.

  • Xác định độ dọc của văn bản được hiển thị.

Thuộc Tính kế thừa từ GuiObjectThuộc Tính kế thừa từ GuiBase2d

Phương Pháp

  • Buộc khách hàng tập trung vào TextBox.

  • Trả về true nếu hộp văn bản được tập trung, hoặc false nếu không.

  • ReleaseFocus(submitted : boolean):()

    Buộc khách hàng loại bỏ TextBox.

Phương Pháp kế thừa từ GuiObject

Sự Kiện

Sự Kiện kế thừa từ GuiObjectSự Kiện kế thừa từ GuiBase2d

Thuộc Tính

ClearTextOnFocus

Đọc Song Song

Xác định xem nhấp vào TextBox có xóa bỏ tính chất TextBox.Text của nó không

ContentText

Chỉ Đọc
Không Sao Chép
Đọc Song Song

CursorPosition

Đọc Song Song

Thuộc tính này xác định offset của con trỏ văn bản bằng byte hoặc -1 nếu TextBox hiện không đang được chỉnh sửa.Một giá trị của 1 đại diện cho vị trí trước khi có chữ nhật đầu tiên trong tính năng Text .Khi được sử dụng kết hợp với thuộc tính SelectionStart , bạn có thể cả lấy và đặt văn bản được chọn trong TextBox .

Lưu ý rằng các đơn vị của thuộc tính này là bytes và rất nhiều ký tự Unicode như emoji dài hơn 1 byte.Ví ví dụ / trường hợp, nếu một người chơi nhập "Hello👋" ("Hello" ngay lập tức theo sau bởi dấu hiệu tay chào), vị trí con trỏ sẽ là 10 , không phải 7 , vì emoji sử dụng 4 bayt.

Mẫu mã

This code sample demonstrates reading the current selection of a TextBox using CursorPosition() and SelectionStart().

TextBox Selections

local textBox = script.Parent
local function showSelection()
if textBox.CursorPosition == -1 or textBox.SelectionStart == -1 then
print("No selection")
else
local selectedText = string.sub(
textBox.Text,
math.min(textBox.CursorPosition, textBox.SelectionStart),
math.max(textBox.CursorPosition, textBox.SelectionStart)
)
print('The selection is:"', selectedText, '"')
end
end
textBox:GetPropertyChangedSignal("CursorPosition"):Connect(showSelection)
textBox:GetPropertyChangedSignal("SelectionStart"):Connect(showSelection)
Ẩn
Không Sao Chép
Đọc Song Song

Thuộc tính Phông chữ chọn một trong một số pre-defined fonts với đó UI sẽ hiển thị văn bản của nó.Một số phông chữ có in đậm, in đậm và/hoặc phiên bản nhẹ (vì không có tính năng trọng lượng phông chữ hoặc kiểu phông chữ).

Ngoại trừ phông chữ "Legacy", mỗi phông chữ sẽ hiển thị văn bản với độ cao dòng bằng với thuộc tính TextBox.TextSize .Phông chữ "Mã" là phông chữ duy nhất có một không gian.Nó có chức năng độc đáo mà mỗi nhân vật có tỷ lệ chiều rộng và chiều cao tương tự chính xác là 1:2.Chiều rộng của mỗi nhân vật là khoảng một nửa property TextBox.TextSize .

Thuộc tính này được giữ nhịp với thuộc tính TextBox.FontFace . Khi đặt Phông chữ, Phông chữ sẽ được đặt thành Font.fromEnum(value) .

Mẫu mã

This code sample sets a parent TextLabel's Font and Text properties to all the different fonts available.

Cycle Font

local textLabel = script.Parent
while true do
-- Iterate over all the different fonts
for _, font in pairs(Enum.Font:GetEnumItems()) do
textLabel.Font = font
textLabel.Text = font.Name
task.wait(1)
end
end

This code sample renders a list of all the available fonts.

Show All Fonts

local frame = script.Parent
-- Create a TextLabel displaying each font
for _, font in pairs(Enum.Font:GetEnumItems()) do
local textLabel = Instance.new("TextLabel")
textLabel.Name = font.Name
-- Set the text properties
textLabel.Text = font.Name
textLabel.Font = font
-- Some rendering properties
textLabel.TextSize = 24
textLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Size the frame equal to the height of the text
textLabel.Size = UDim2.new(1, 0, 0, textLabel.TextSize)
-- Add to the parent frame
textLabel.Parent = frame
end
-- Layout the frames in a list (if they aren't already)
if not frame:FindFirstChildOfClass("UIListLayout") then
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = frame
end

FontFace

Đọc Song Song

Tính chất FontFace tương tự như tính chất Font, nhưng cho phép cài đặt phông chữ không tồn tại trong Enum Phông chữ.

Thuộc tính này được giữ đồng bộ với thuộc tính TextBox.Font .Khi đặt FontFace, phông chữ được đặt vào giá trị enum tương ứng, hoặc vào Enum.Font.Unknown nếu không có trùng lặp.

LineHeight

Đọc Song Song

Kiểm soát chiều cao của các dòng, như một nhân của kích thước khung chữ của phông, bằng cách thay đổi khoảng cách giữa các dòng văn bản trong TextBox .Các giá trị hợp lệ dao động từ 1.0 đến 3.0, mặc định là 1.0.

MaxVisibleGraphemes

Đọc Song Song

Thuộc tính này kiểm soát số tối đa của các grapheme (hoặc đơn vị văn bản) được hiển thị trên TextBox, bất kể nó có hiển thị TextBox.PlaceholderText hoặc TextBox.Text hay không.

Thay đổi thuộc tính không thay đổi vị trí hoặc kích thước của các grapheme có thể nhìn thấy - bố trí sẽ được tính toán như thể tất cả các grapheme đều có thể nhìn thấy.

Đặt thuộc tính thành -1 vô hiệu hóa giới hạn và hiển thị toàn bộ của TextBox.Text .

MultiLine

Đọc Song Song

Khi được đặt thành true, văn bản bên trong TextBox có thể di chuyển sang nhiều dòng. Điều này cũng cho phép người chơi sử dụng phím enter để di chuyển sang một dòng mới.

OpenTypeFeatures

Đọc Song Song

OpenTypeFeaturesError

Chỉ Đọc
Không Sao Chép
Đọc Song Song

PlaceholderColor3

Đọc Song Song

Đặt màu văn bản được sử dụng khi chưa có văn bản nào được nhập vào TextBox.

PlaceholderText

Đọc Song Song

Đặt văn bản được hiển thị khi chưa có văn bản nào được nhập vào TextBox.

RichText

Đọc Song Song

Tính chất này xác định xem TextBox có hiển thị chuỗi TextBox.Text bằng cách sử dụng định dạng dữ liệu giàu hay không.Văn bản giàu sử dụng các thẻ đánh dấu đơn giản để định dạng các phần chuỗi bằng in đậm, in đậm, màu cụ thể và nhiều hơn nữa.

Để sử dụng văn bản giàu, chỉ cần bao gồm các thẻ định dạng trong chuỗi TextBox.Text.

Lưu ý rằng khi TextBox có chức năng này bật và hộp nhận được sự tập trung, người dùng sẽ có thể chỉnh sửa và tương tác với dòng XML hoàn chỉnh, bao gồm tất cả các thẻ định dạng.Khi tập trung bị mất, văn bản sẽ tự động phân tích và hiển thị các thẻ như văn bản giàu.

SelectionStart

Đọc Song Song

Xác định vị trí bắt đầu của một lựa chọn văn bản, hoặc -1 nếu TextBox không có phạm vi văn bản được chọn.Nếu giá trị là -1 hoặc tương đương với CursorPosition, không có phạm vi văn bản được chọn.Tính chất này sử dụng cùng một logic vị trí như CursorPosition.SelectionStart sẽ lớn hơn CursorPosition nếu con trỏ ở đầu của một lựa chọn, và nhỏ hơn CursorPosition nếu con trỏ ở kết thúc.

Mẫu mã

This code sample demonstrates reading the current selection of a TextBox using CursorPosition() and SelectionStart().

TextBox Selections

local textBox = script.Parent
local function showSelection()
if textBox.CursorPosition == -1 or textBox.SelectionStart == -1 then
print("No selection")
else
local selectedText = string.sub(
textBox.Text,
math.min(textBox.CursorPosition, textBox.SelectionStart),
math.max(textBox.CursorPosition, textBox.SelectionStart)
)
print('The selection is:"', selectedText, '"')
end
end
textBox:GetPropertyChangedSignal("CursorPosition"):Connect(showSelection)
textBox:GetPropertyChangedSignal("SelectionStart"):Connect(showSelection)

ShowNativeInput

Đọc Song Song

Nếu được đặt thành true, nhập bản địa vào nền tảng được sử dụng thay vì bàn phím mặc định của Roblox.

Text

Đọc Song Song

Thuộc tính Text xác định nội dung được hiển thị bởi thành phần UI.Các thuộc tính hình ảnh của chuỗi được hiển thị trên màn hình được xác định bởi TextBox.TextColor3 , TextBox.TextTransparency , TextBox.TextSize , TextBox.Font , TextBox.TextScaled , TextBox.TextWrapped , TextBox.TextXAlignmentTextBox.TextYAlignment.

Việc hiển thị các biểu tượng cảm xúc (ví dụ, 😃) và các biểu tượng khác là có thể.Các biểu tượng đặc biệt này không bị ảnh hưởng bởi thuộc tính TextBox.TextColor3 .Chúng có thể được dán vào ScriptLocalScript đối tượng, cũng như lĩnh vực bên trong cửa sổ Thuộc tính.

Tính chất này có thể chứa các ký tự dòng mới, tuy nhiên, không thể gõ các ký tự dòng mới trong cửa sổ Thuộc tính.Tương tự, thuộc tính này có thể chứa một nhân vật tab, nhưng nó sẽ hiển thị như một không gian thay vào đó.

Mẫu mã

This code sample creates a fading banner for a TextLabel. It fades text out, chooses a random string (avoiding repetition), and fades back in.

Fading Banner

local TweenService = game:GetService("TweenService")
local textLabel = script.Parent
local content = {
"Welcome to my game!",
"Be sure to have fun!",
"Please give suggestions!",
"Be nice to other players!",
"Don't grief other players!",
"Check out the shop!",
"Tip: Don't die!",
}
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local RNG = Random.new()
local fadeIn = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 0,
})
local fadeOut = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 1,
})
local lastIndex
while true do
-- Step 0: Fade out before doing anything
fadeOut:Play()
task.wait(tweenInfo.Time)
-- Step 1: pick content that wasn't the last displayed
local index
repeat
index = RNG:NextInteger(1, #content)
until lastIndex ~= index
-- Make sure we don't show the same thing next time
lastIndex = index
-- Step 2: show the content
textLabel.Text = content[index]
fadeIn:Play()
task.wait(tweenInfo.Time + 1)
end

This code sample repeatedly tweens a TextLabel's TextSize from 5 to 100 and fades out the text as it grows in size.

"Kaboom!" Text

local textLabel = script.Parent
textLabel.Text = "Kaboom!"
while true do
for size = 5, 100, 5 do
textLabel.TextSize = size
textLabel.TextTransparency = size / 100
task.wait()
end
task.wait(1)
end

This code sample renders a list of all the available fonts.

Show All Fonts

local frame = script.Parent
-- Create a TextLabel displaying each font
for _, font in pairs(Enum.Font:GetEnumItems()) do
local textLabel = Instance.new("TextLabel")
textLabel.Name = font.Name
-- Set the text properties
textLabel.Text = font.Name
textLabel.Font = font
-- Some rendering properties
textLabel.TextSize = 24
textLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Size the frame equal to the height of the text
textLabel.Size = UDim2.new(1, 0, 0, textLabel.TextSize)
-- Add to the parent frame
textLabel.Parent = frame
end
-- Layout the frames in a list (if they aren't already)
if not frame:FindFirstChildOfClass("UIListLayout") then
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = frame
end

This code sample demonstrates TextWrap by spelling out a long chunk of text progressively. If the text doesn't fit, it turns a different color.

Long Text Wrapping

local textLabel = script.Parent
-- This text wrapping demo is best shown on a 200x50 px rectangle
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Some content to spell out
local content = "Here's a long string of words that will "
.. "eventually exceed the UI element's width "
.. "and form line breaks. Useful for paragraphs "
.. "that are really long."
-- A function that will spell text out two characters at a time
local function spellTheText()
-- Iterate from 1 to the length of our content
for i = 1, content:len() do
-- Get a substring of our content: 1 to i
textLabel.Text = content:sub(1, i)
-- Color the text if it doesn't fit in our box
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Red
end
-- Wait a brief moment on even lengths
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Spell the text with scale/wrap off
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with wrap on
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with text scaling on
-- Note: Text turns red (TextFits = false) once text has to be
-- scaled down in order to fit within the UI element.
textLabel.TextScaled = true
-- Note: TextWrapped is enabled implicitly when TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
end

This code sample demonstrates emoji rendering using the Text property.

Emoji in Text

local textLabel = script.Parent
local moods = {
["happy"] = "😃",
["sad"] = "😢",
["neutral"] = "😐",
["tired"] = "😫",
}
while true do
for mood, face in pairs(moods) do
textLabel.Text = "I am feeling " .. mood .. "! " .. face
task.wait(1)
end
end

TextBounds

Chỉ Đọc
Không Sao Chép
Đọc Song Song

Thuộc tính đọc chỉ TextBounds phản ánh kích thước tuyệt đối của văn bản được hiển thị trong khoảng cách.Nói cách khác, nếu bạn cố gắng để phù hợp văn bản vào một hình chữ nhật, tính chất này sẽ phản ánh kích thước tối thiểu của hình chữ nhật bạn cần để phù hợp với văn bản.

Sử dụng TextService:GetTextSize() , bạn có thể dự đoán TextBounds sẽ là gì trên một TextLabel được cung cấp một chuỗi, TextBox.Font , TextBox.TextSize và kích thước khung.

Mẫu mã

This code sample dynamically resizes a TextLabel, TextButton or TextBox to match the size of its TextBounds. Try changing the minimum width/height and pasting into a LocalScript in a TextBox.

Dynamic TextBox Size

local textBox = script.Parent
-- The smallest the TextBox will go
local minWidth, minHeight = 10, 10
-- Set alignment so our text doesn't wobble a bit while we type
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextYAlignment = Enum.TextYAlignment.Top
local function updateSize()
textBox.Size = UDim2.new(0, math.max(minWidth, textBox.TextBounds.X), 0, math.max(minHeight, textBox.TextBounds.Y))
end
textBox:GetPropertyChangedSignal("TextBounds"):Connect(updateSize)

TextColor3

Đọc Song Song

Tính chất này xác định màu của tất cả văn bản được hiển thị bởi một thành phần GuiObject .Tính chất này cùng với TextBox.Font , TextBox.TextSizeTextBox.TextTransparency sẽ xác định các thuộc tính hình ảnh của văn bản.Văn bản được hiển thị sau khi nét vẽ văn bản ( TextBox.TextStrokeColor3 ).

Quan trọng là văn bản dễ đọc bởi người chơi! Hãy chắc chắn chọn màu có độ bão hòa thấp, như trắng, xám hoặc đen.Hãy chắc chắn rằng màu của văn bản của bạn được tương phản bởi TextBox.BackgroundColor3 của thành phần UI.Nếu yếu tố có nền trong suốt, hãy thử áp dụng một nền đen TextBox.TextStrokeColor3 để giúp tăng độ tương phản của văn bản với thế giới 3D phía sau nó.

Mẫu mã

This code sample, when placed within a TextBox, will turn the text color red if the typed string contains no vowels (A, E, I, O or U).

Vowel Detector

local textBox = script.Parent
local function hasVowels(str)
return str:lower():find("[aeiou]")
end
local function onTextChanged()
local text = textBox.Text
-- Check for vowels
if hasVowels(text) then
textBox.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textBox.TextColor3 = Color3.new(1, 0, 0) -- Red
end
end
textBox:GetPropertyChangedSignal("Text"):Connect(onTextChanged)

This code sample creates a password-like interface for a TextBox, giving visual feedback on the player's input.

TextBox Secret Word

-- Place this code in a LocalScript inside a TextBox
local textBox = script.Parent
local secretWord = "roblox"
local colorNormal = Color3.new(1, 1, 1) -- white
local colorWrong = Color3.new(1, 0, 0) -- red
local colorCorrect = Color3.new(0, 1, 0) -- green
-- Initialize the state of the textBox
textBox.ClearTextOnFocus = true
textBox.Text = ""
textBox.Font = Enum.Font.Code
textBox.PlaceholderText = "What is the secret word?"
textBox.BackgroundColor3 = colorNormal
local function onFocused()
textBox.BackgroundColor3 = colorNormal
end
local function onFocusLost(enterPressed, _inputObject)
if enterPressed then
local guess = textBox.Text
if guess == secretWord then
textBox.Text = "ACCESS GRANTED"
textBox.BackgroundColor3 = colorCorrect
else
textBox.Text = "ACCESS DENIED"
textBox.BackgroundColor3 = colorWrong
end
else
-- The player stopped editing without pressing Enter
textBox.Text = ""
textBox.BackgroundColor3 = colorNormal
end
end
textBox.FocusLost:Connect(onFocusLost)
textBox.Focused:Connect(onFocused)

This code sample makes a TextLabel or TextButton count backwards from 10, setting the text color as it does so.

Countdown Text

-- Place this code in a LocalScript within a TextLabel/TextButton
local textLabel = script.Parent
-- Some colors we'll use with TextColor3
local colorNormal = Color3.new(0, 0, 0) -- black
local colorSoon = Color3.new(1, 0.5, 0.5) -- red
local colorDone = Color3.new(0.5, 1, 0.5) -- green
-- Loop infinitely
while true do
-- Count backwards from 10 to 1
for i = 10, 1, -1 do
-- Set the text
textLabel.Text = "Time: " .. i
-- Set the color based on how much time is left
if i > 3 then
textLabel.TextColor3 = colorNormal
else
textLabel.TextColor3 = colorSoon
end
task.wait(1)
end
textLabel.Text = "GO!"
textLabel.TextColor3 = colorDone
task.wait(2)
end

This code sample mirrors the contents of a StringValue into a TextLabel, updating and setting the color of the text as it changes.

Game State Text

local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Place a StringValue called "GameState" in the ReplicatedStorage
local vGameState = ReplicatedStorage:WaitForChild("GameState")
-- Place this code in a TextLabel
local textLabel = script.Parent
-- Some colors we'll use with TextColor3
local colorNormal = Color3.new(0, 0, 0) -- black
local colorCountdown = Color3.new(1, 0.5, 0) -- orange
local colorRound = Color3.new(0.25, 0.25, 1) -- blue
-- We'll run this function to update the TextLabel as the state of the
-- game changes.
local function update()
-- Update the text
textLabel.Text = "State: " .. vGameState.Value
-- Set the color of the text based on the current game state
if vGameState.Value == "Countdown" then
textLabel.TextColor3 = colorCountdown
elseif vGameState.Value == "Round" then
textLabel.TextColor3 = colorRound
else
textLabel.TextColor3 = colorNormal
end
end
-- Pattern: update once when we start and also when vGameState changes
-- We should always see the most updated GameState.
update()
vGameState.Changed:Connect(update)

TextDirection

Đọc Song Song

TextEditable

Đọc Song Song

TextEditable xác định xem người dùng có thể thay đổi Text thông qua nhập hay không.Khuyến nghị vô hiệu hóa ClearTextOnFocus khi tính năng này bị vô hiệu hóa, nếu không, Văn bản có thể được xóa khi tập trung.Tính năng này hữu ích để tạo TextBox chỉ đọc mà nội dung có thể được sao chép trong trò chơi.

TextFits

Chỉ Đọc
Không Sao Chép
Đọc Song Song

Xem có phù hợp với các hạn chế của TextBox không.

TextScaled

Đọc Song Song

Thay vì sử dụng TextScaled, chúng tôi khuyên bạn xem xét sử dụng AutomaticSize, một phương pháp mới để thay đổi kích thước UI theo thời gian thực mà sẽ mang lại cho bạn kết quả hình ảnh tốt nhất có thể.

Thuộc tính TextScaled xác định xem có nên mở rộng văn bản để lấp đầy toàn bộ không gian của thành phần UI không.Khi điều này được bật, TextBox.TextSize bị bỏ qua và TextBox.TextWrapped được bật tự động.Tính năng này hữu ích cho các thành phần UI hiển thị văn bản trong BillboardGuis .

Khi thuộc tính này được sử dụng cho giao diện người dùng không gian màn hình, có thể muốn sử dụng một UITextSizeConstraint để hạn chế phạm vi các kích thước văn bản có thể có.

TextScaled và AutomaticSize

Khuyến nghị các nhà phát triển tránh sử dụng TextScaled và điều chỉnh giao diện người dùng để tận dụng tính năng AutomaticSize thay thế.Dưới đây là sự khác biệt chính giữa hai thuộc tính:

  • TextScaled tăng quy mô nội dung (văn bản) để phù hợp với giao diện người dùng. Nếu không xem xét cẩn thận, một số văn bản có thể trở nên khó đọc nếu thu nhỏ quá mức.
  • Kích thước tự động thay đổi giao diện người dùng để chứa nội dung.

Với AutomaticSize, bạn có thể điều chỉnh giao diện người dùng của mình để thích ứng với nội dung (văn bản) trong khi duy trì một kích cỡ phông chữ nhất quán.Để biết thêm thông tin về cách sử dụng kích thước tự động, xem bài viết Kích thước tự động của UI.

Chúng tôi đề nghị rằng bạn không áp dụng cả TextScaled và AutomaticSize trên cùng một đối tượng UI. Nếu bạn áp dụng cả hai thuộc tính:

  • Kích thước tự động xác định số lượng tối đa không gian có sẵn mà một GuiObject có thể sử dụng (trong trường hợp này, văn bản)
  • TextScaled sử dụng không gian có sẵn được xác định bởi AutomaticSize, để thay đổi kích thước phông chữ để phù hợp với không gian có sẵn, mà sẽ mở rộng lên đến kích thước phông chữ tối đa (100), nếu không có giới hạn kích thước
  • Kết quả cuối cùng sẽ là: văn bản đi đến kích thước phông 100 và đối tượng UI sẽ mở rộng để phù hợp với văn bản đó

Sử dụng cả AutomaticSize và TextScaled cùng một lúc có thể dẫn đến sự khác biệt quy mô đáng kể hơn so với khi AutomaticSize bị tắt.

Mẫu mã

This code sample demonstrates TextWrap by spelling out a long chunk of text progressively. If the text doesn't fit, it turns a different color.

Long Text Wrapping

local textLabel = script.Parent
-- This text wrapping demo is best shown on a 200x50 px rectangle
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Some content to spell out
local content = "Here's a long string of words that will "
.. "eventually exceed the UI element's width "
.. "and form line breaks. Useful for paragraphs "
.. "that are really long."
-- A function that will spell text out two characters at a time
local function spellTheText()
-- Iterate from 1 to the length of our content
for i = 1, content:len() do
-- Get a substring of our content: 1 to i
textLabel.Text = content:sub(1, i)
-- Color the text if it doesn't fit in our box
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Red
end
-- Wait a brief moment on even lengths
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Spell the text with scale/wrap off
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with wrap on
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with text scaling on
-- Note: Text turns red (TextFits = false) once text has to be
-- scaled down in order to fit within the UI element.
textLabel.TextScaled = true
-- Note: TextWrapped is enabled implicitly when TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
end

TextSize

Đọc Song Song

Thuộc tính TextSize xác định chiều cao trong khấu trừ của một dòng văn bản được hiển thị.Các đơn vị ở trong khấu trừ, không phải điểm (được sử dụng trong hầu hết các chương trình chỉnh sửa tài liệu).Phông chữ "Legacy" không có chứa thuộc tính này.

Mẫu mã

This code sample repeatedly tweens a TextLabel's TextSize from 5 to 100 and fades out the text as it grows in size.

"Kaboom!" Text

local textLabel = script.Parent
textLabel.Text = "Kaboom!"
while true do
for size = 5, 100, 5 do
textLabel.TextSize = size
textLabel.TextTransparency = size / 100
task.wait()
end
task.wait(1)
end

TextStrokeColor3

Đọc Song Song

Thuộc tính TextStrokeColor3 đặt màu của đường viền, hoặc khung của văn bản được hiển thị.Tính chất này và TextBox.TextStrokeTransparency xác định các thuộc tính hình ảnh của đường viền văn bản.

Đường viền văn bản được hiển thị trước văn bản bình thường và chỉ đơn giản là 4 bản hiển thị cùng một văn bản trong +/- 1 pixel chênh lệch theo mỗi hướng.Việc hiển thị đường nét văn bản hoạt động độc lập và tương tự với TextBox.TextColor3TextBox.TextTransparency .

Mẫu mã

This code sample oscillates a TextLabel's TextStrokeTransparency so that it blinks the highlight of a text.

Text Highlight Oscillation

local textLabel = script.Parent
-- How fast the highlight ought to blink
local freq = 2
-- Set to yellow highlight color
textLabel.TextStrokeColor3 = Color3.new(1, 1, 0)
while true do
-- math.sin oscillates from -1 to 1, so we change the range to 0 to 1:
local transparency = math.sin(workspace.DistributedGameTime * math.pi * freq) * 0.5 + 0.5
textLabel.TextStrokeTransparency = transparency
task.wait()
end

TextStrokeTransparency

Đọc Song Song

Thuộc tính TextStrokeTransparency đặt độ trong suốt của đường viền, hoặc khung của văn bản được hiển thị.Tính chất này và TextBox.TextStrokeColor3 xác định các thuộc tính hình ảnh của đường viền văn bản.

Đường viền văn bản được hiển thị trước văn bản bình thường và chỉ đơn giản là 4 bản hiển thị cùng một văn bản trong +/- 1 pixel chênh lệch theo mỗi hướng.Việc hiển thị đường nét văn bản hoạt động độc lập và tương tự với TextBox.TextColor3TextBox.TextTransparency .Vì đường viền văn bản chỉ là nhiều bản hiển thị khác nhau của cùng một độ trong suốt, tính chất này về cơ bản là nhân lên bốn lần (ví dụ:một TextStrokeTransparency của 0.5 xuất hiện tương tự như TextTransparency của 0.0625, hoặc 0.5^4).Do đó, được khuyến nghị đặt TextStrokeTransparency thành một giá trị trong phạm vi từ 0.75 đến 1 để có được hiệu ứng tinh tế hơn.

Mẫu mã

This code sample oscillates a TextLabel's TextStrokeTransparency so that it blinks the highlight of a text.

Text Highlight Oscillation

local textLabel = script.Parent
-- How fast the highlight ought to blink
local freq = 2
-- Set to yellow highlight color
textLabel.TextStrokeColor3 = Color3.new(1, 1, 0)
while true do
-- math.sin oscillates from -1 to 1, so we change the range to 0 to 1:
local transparency = math.sin(workspace.DistributedGameTime * math.pi * freq) * 0.5 + 0.5
textLabel.TextStrokeTransparency = transparency
task.wait()
end

TextTransparency

Đọc Song Song

Thuộc tính TextColor3 xác định độ trong suốt của tất cả các văn bản được hiển thị bởi một thành phần UI.Tính chất này cùng với TextBox.Font , TextBox.TextSizeTextBox.TextColor3 sẽ xác định các thuộc tính hình ảnh của văn bản.Văn bản được hiển thị sau khi nét vẽ văn bản ( TextBox.TextStrokeTransparency ).

Việc mờ dần văn bản trong sử dụng vòng lặp số là một cách tuyệt vời để thu hút sự chú ý của người chơi đến văn bản xuất hiện trên màn hình.


-- Count backwards from 1 to 0, decrementing by 0.1
for i = 1, 0, -0.1 do
textLabel.TextTransparency = i
task.wait(0.1)
end

Mẫu mã

This code sample creates a fading banner for a TextLabel. It fades text out, chooses a random string (avoiding repetition), and fades back in.

Fading Banner

local TweenService = game:GetService("TweenService")
local textLabel = script.Parent
local content = {
"Welcome to my game!",
"Be sure to have fun!",
"Please give suggestions!",
"Be nice to other players!",
"Don't grief other players!",
"Check out the shop!",
"Tip: Don't die!",
}
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local RNG = Random.new()
local fadeIn = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 0,
})
local fadeOut = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 1,
})
local lastIndex
while true do
-- Step 0: Fade out before doing anything
fadeOut:Play()
task.wait(tweenInfo.Time)
-- Step 1: pick content that wasn't the last displayed
local index
repeat
index = RNG:NextInteger(1, #content)
until lastIndex ~= index
-- Make sure we don't show the same thing next time
lastIndex = index
-- Step 2: show the content
textLabel.Text = content[index]
fadeIn:Play()
task.wait(tweenInfo.Time + 1)
end

This code sample repeatedly tweens a TextLabel's TextSize from 5 to 100 and fades out the text as it grows in size.

"Kaboom!" Text

local textLabel = script.Parent
textLabel.Text = "Kaboom!"
while true do
for size = 5, 100, 5 do
textLabel.TextSize = size
textLabel.TextTransparency = size / 100
task.wait()
end
task.wait(1)
end

TextTruncate

Đọc Song Song

Kiểm soát việc rút ngắn văn bản được hiển thị trong TextBox này.

TextWrapped

Đọc Song Song

Khi bật, thuộc tính này sẽ hiển thị văn bản trên nhiều dòng trong không gian của thành phần TextBox nên TextBox.TextBounds sẽ không bao giờ vượt quá GuiBase2d.AbsoluteSize của thành phần GUI.

Điều này được thực hiện bằng cách phá vỡ các dòng văn bản dài thành nhiều dòng.Các dòng phá vỡ sẽ ưu tiên không gian trống; nếu một từ dài không bị phá vỡ vượt quá chiều rộng của thành phần, từ đó sẽ bị phá vỡ thành nhiều dòng.

Nếu việc phá vỡ thêm dòng sẽ gây ra chiều cao ngang của văn bản (thành phần Y của TextBox.TextBounds) vượt quá chiều cao ngang của thành phần (thành phần Y của GuiBase2d.AbsoluteSize) thì dòng đó sẽ không được hiển thị.

Mẫu mã

This code sample demonstrates TextWrap by spelling out a long chunk of text progressively. If the text doesn't fit, it turns a different color.

Long Text Wrapping

local textLabel = script.Parent
-- This text wrapping demo is best shown on a 200x50 px rectangle
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Some content to spell out
local content = "Here's a long string of words that will "
.. "eventually exceed the UI element's width "
.. "and form line breaks. Useful for paragraphs "
.. "that are really long."
-- A function that will spell text out two characters at a time
local function spellTheText()
-- Iterate from 1 to the length of our content
for i = 1, content:len() do
-- Get a substring of our content: 1 to i
textLabel.Text = content:sub(1, i)
-- Color the text if it doesn't fit in our box
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Red
end
-- Wait a brief moment on even lengths
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Spell the text with scale/wrap off
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with wrap on
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with text scaling on
-- Note: Text turns red (TextFits = false) once text has to be
-- scaled down in order to fit within the UI element.
textLabel.TextScaled = true
-- Note: TextWrapped is enabled implicitly when TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
end

TextXAlignment

Đọc Song Song

TextXAlignment xác định sự cân bằng ngang (trục X) của văn bản được hiển thị trong không gian của thành phần UI.Nó hoạt động tương tự như tính chất text-align của CSS, với các giá trị bên trái, bên phải và trung tâm (không có tùy chọn cân bằng).Đối với Trái và Phải, văn bản được hiển thị một cách khiến cho giới hạn văn bản bên trái/phải chỉ chạm vào mép của khối chữ nạp UI.Đối với Trung tâm, mỗi dòng văn bản được xoay theo trung tâm của UI element hình chữ nhật.

Tính năng này được sử dụng kết hợp với TextBox.TextYAlignment để xác định hoàn toàn vị trí dòng chữ trên cả hai trục.Tính chất này sẽ không ảnh hưởng đến các tính chất chỉ đọc TextBox.TextBoundsTextBox.TextFits .

Mẫu mã

This code sample shows all the different text alignment combinations by iterating over each enum item. It is meant to be placed within a TextLabel, TextButton or TextBox.

Text Alignment

-- Paste this in a LocalScript within a TextLabel/TextButton/TextBox
local textLabel = script.Parent
local function setAlignment(xAlign, yAlign)
textLabel.TextXAlignment = xAlign
textLabel.TextYAlignment = yAlign
textLabel.Text = xAlign.Name .. " + " .. yAlign.Name
end
while true do
-- Iterate over both TextXAlignment and TextYAlignment enum items
for _, yAlign in pairs(Enum.TextYAlignment:GetEnumItems()) do
for _, xAlign in pairs(Enum.TextXAlignment:GetEnumItems()) do
setAlignment(xAlign, yAlign)
task.wait(1)
end
end
end

TextYAlignment

Đọc Song Song

TextYAlignment xác định sự căn chỉnh dọc (trục Y) của văn bản được hiển thị trong không gian của thành phần UI.Đối với Trên và Dưới, văn bản được hiển thị sao cho giới hạn trên/dưới chỉ chạm vào mép của UI element hình chữ nhật.Đối với Trung tâm, văn bản được hiển thị sao cho có một khoảng trống bằng nhau từ giới hạn trên của văn bản đến đỉnh của thành phần và giới hạn dưới của văn bản đến đáy của thành phần.

Tính năng này được sử dụng kết hợp với TextBox.TextXAlignment để xác định hoàn toàn vị trí dòng chữ trên cả hai trục.Tính chất này sẽ không ảnh hưởng đến các tính chất chỉ đọc TextBox.TextBoundsTextBox.TextFits .

Mẫu mã

This code sample shows all the different text alignment combinations by iterating over each enum item. It is meant to be placed within a TextLabel, TextButton or TextBox.

Text Alignment

-- Paste this in a LocalScript within a TextLabel/TextButton/TextBox
local textLabel = script.Parent
local function setAlignment(xAlign, yAlign)
textLabel.TextXAlignment = xAlign
textLabel.TextYAlignment = yAlign
textLabel.Text = xAlign.Name .. " + " .. yAlign.Name
end
while true do
-- Iterate over both TextXAlignment and TextYAlignment enum items
for _, yAlign in pairs(Enum.TextYAlignment:GetEnumItems()) do
for _, xAlign in pairs(Enum.TextXAlignment:GetEnumItems()) do
setAlignment(xAlign, yAlign)
task.wait(1)
end
end
end

Phương Pháp

CaptureFocus

()

Buộc khách hàng tập trung vào TextBox.


Lợi Nhuận

()

Mẫu mã

This code sample causes the client to focus on the parent TextBox when the Q key is pressed by the player.

TextBox:CaptureFocus

local ContextActionService = game:GetService("ContextActionService")
local ACTION_NAME = "FocusTheTextBox"
local textBox = script.Parent
local function handleAction(actionName, inputState, _inputObject)
if actionName == ACTION_NAME and inputState == Enum.UserInputState.End then
textBox:CaptureFocus()
end
end
ContextActionService:BindAction(ACTION_NAME, handleAction, false, Enum.KeyCode.Q)

IsFocused

Trả về true nếu hộp văn bản được tập trung, hoặc false nếu không.


Lợi Nhuận

ReleaseFocus

()

Bắt buộc khách hàng loại bỏ TextBox. Tham số submitted cho phép bạn có thể vượt qua tham số enterPressed trong sự kiện TextBox.FocusLost.

Vật phẩm này nên được sử dụng với một LocalScript để hoạt động như mong đợi trong chế độ trực tuyến.

Mã được hiển thị dưới đây sẽ buộc khách hàng loại bỏ việc tập trung vào 'TextBox' 5 giây sau khi nó được chọn:


local TextBox = script.Parent
TextBox.Focused:Connect(function()
wait(5)
TextBox:ReleaseFocus()
end)

Xin hãy lưu ý rằng ví dụ trên cho thấy nó nằm trong một LocalScript, là con của một TextBox.

Tham Số

submitted: boolean
Giá Trị Mặc Định: false

Lợi Nhuận

()

Mẫu mã

The code shown below will force the client to unfocus the 'TextBox' 5 seconds after it's selected:

TextBox:ReleaseFocus

local textBox = script.Parent
local function onFocused()
task.wait(5)
textBox:ReleaseFocus()
end
textBox.Focused:Connect(onFocused)

Sự Kiện

FocusLost

Bắt lửa khi khách hàng cho phép tập trung của họ rời khỏi TextBox - thường là khi khách hàng nhấp/nhấn bên ngoài TextBox.Điều này cũng bắn nếu một TextBox buộc tập trung vào người dùng.

Nó có thể được sử dụng cùng với TextBox.Focused để theo dõi khi một TextBox nhận được và mất tập trung.

Xem thêm các chức năng tương tự dựa trên dịch vụ UserInputService UserInputService.TextBoxFocusedUserInputService.TextBoxFocusReleased để có các chức năng tương tự dựa trên dịch vụ UserInputService.

Sự kiện này chỉ bắt lửa khi được sử dụng trong một LocalScript .

Tham Số

enterPressed: boolean

Một boolean chỉ ra liệu khách hàng đã nhấn Enter để mất tập trung ( true ) hay không ( false ).

inputThatCausedFocusLoss: InputObject

Một ví dụ InputObject cho thấy loại đầu vào gây mất tập trung của TextBox.


Mẫu mã

The example shown below will print "Focus was lost because enter was pressed!" whenever the TextBox loses focus as a result of the enter key being pressed.

TextBox.FocusLost1

local gui = script.Parent
local textBox = gui.TextBox
local function focusLost(enterPressed)
if enterPressed then
print("Focus was lost because enter was pressed!")
else
print("Focus was lost without enter being pressed")
end
end
textBox.FocusLost:Connect(focusLost)

This example works when placed in a LocalScript that is the child of a TextBox. When the TextBox loses focus, the example prints either:

  1. "Player pressed Enter" - if the TextBox lost focus because the player pressed the Enter key. or
  2. "Player pressed InputObject.KeyCode" - where "KeyCode" is the InputObject KeyCode property of the input that caused the TextBox to lose focus. For example, pressing the Escape (esc) key to exit TextBox focus returns an InputObject instance with the KeyCode 'InputObject.Escape'.
FocusLost

local textBox = script.Parent
local function onFocusLost(enterPressed, inputThatCausedFocusLost)
if enterPressed then
print("Player pressed Enter")
else
print("Player pressed", inputThatCausedFocusLost.KeyCode)
end
end
textBox.FocusLost:Connect(onFocusLost)

Focused

Bắt lửa khi TextBox nhận được sự tập trung - thường là khi một khách hàng nhấp vào một TextBox để bắt đầu nhập chữ.Điều này cũng bắn nếu một TextBox buộc tập trung vào người dùng.

Nó có thể được sử dụng cùng với TextBox.FocusLost để theo dõi khi một TextBox nhận được và mất tập trung.

Xem thêm các chức năng tương tự dựa trên dịch vụ UserInputService UserInputService.TextBoxFocusedUserInputService.TextBoxFocusReleased để có các chức năng tương tự dựa trên dịch vụ UserInputService.

Sự kiện này chỉ bắt lửa khi được sử dụng trong một LocalScript .


Mẫu mã

This example works when placed in a LocalScript that is the child of a TextBox. When the TextBox gains focus, the example prints "Focus".

Focus

local textBox = script.Parent
local function onFocused()
print("Focused")
end
textBox.Focused:Connect(onFocused)

ReturnPressedFromOnScreenKeyboard