TextLabel

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 TextLabel hiển thị một hình chữ nhật, giống như một Frame , với chữ viết kiểu text. Hình chữ nhật có thể được sử dụng để định giới hạn chữ, kiểu thu nhỏ chữ (

Lớp này chứa các thuộc tính kiểm soát hiển thị của văn bản, chẳng hạn như TextLabel.FontTextLabel.TextColor3 . Tất cả các văn bản được hiển thị bởi một nhãn v

TextService:GetTextSize() có thể được sử dụng để lấy kích thước (围) của văn bản được hiển thị trong một TextLabel được cung cấp kích thước chữ, chữ cỡ và kích thước khung.

Một UITextSizeConstraint đối tượng có thể được sử dụng để hạn chế kích thước của văn bản với TextLabel.TextScaled được bật. Nên kích thước của văn bản không nên thấp hơn 9, nếu không nó có thể không hiển thị cho hầu hế

Mẫu mã

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
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)

Tóm Tắt

Thuộc Tính

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

Phương Pháp

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
  • SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal

    Kích hoạt khi lựa chọn gamepad di chuyển đến, rời đi hoặc thay đổi trong khu vực GuiBase2d hoặc bất kỳ con cháu GuiObjects kế tiếp.

Thuộc Tính

ContentText

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

Điều này cung cấp một bản sao của TextLabel.Text đó chứa chính xác những gì đang được hiển thị bởi TextLabel . Điều này hữu ích cho việc loại bỏ các thẻ phong cách được sử dụng cho văn bản giàu.

Ví dụ

Khi TextLabel.RichText được bật, thuộc tính TextLabel.ContentText hiển thị chữ như nó xuất hiện cho người chơi.


<tbody>
<tr>
<td>đúng</td>
<td>\<b>Xin chào, thế giới!\</b></td>
<td>\<b>Xin chào, thế giới!\</b></td>
</tr>
<tr>
<td>đúng</td>
<td>\<b>Xin chào, thế giới!\</b></td>
<td>Xin chào, thế giới!</td>
</tr>
</tbody>
Văn bản giàuVăn bảnNội dung text
Ẩn
Không Sao Chép
Đọc Song Song

Thuộc tính Chữ cái lựa chọn một trong vài bản chữ được định dạng trước đó mà thành phần UI sẽ hiển thị chữ của mình. Một số bản chữ có dấu chúa, gót chúa và/hoặc độ sáng (vì không có thuộc tính trọng lượng chữ hoặc kiểu chữ).

Ngoài font "Legacy", mỗi font sẽ tạo ra chữ văn bản với chiều cao dòng bằng với đặ性 TextLabel.TextSize .Font "Code" là font monospace duy nhất. Nó có tính năng độc đáo rằng mỗi nhân vật có tỷ lệ chiều rộng v

Đặ性 này được giữ đồng bộ với đặ性 TextLabel.FontFace . Khi cài đặýFont, đặýFont sẽ được đặý để Font.fromEnum(value) .

Mẫu mã

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
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

Thuộc tính FontFace tương tự thuộc tínhFont, nhưng cho phép bạn cài đặt các kiểu chữ của bạn không tồn tại trong danh sách kiểu chữ.

Điều này được giữ đồng bộ với điều kiện TextLabel.Font . Khi cài đặt FontFace,Font được đặt vào giá trị danh sách tương ứng tương ứng hoặc Enum.Font.Unknown nếu không có trùng khớp.

LineHeight

Đọc Song Song

Điều khiển chiều cao của các dòng, như một nhiều của kích thước hàng gốc của chữ, bằng cách thay đổi khoảng cách giữa các dòng của văn bản trong TextLabel . Các giá trị hợp lệ có thể lớn hơn hoặc nhỏ hơn 1.0, mặc định là 1.0.

LocalizedText

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

Đặt tính này cho phép hoặc không cho phép một Class.TextLabel``Class.GuiBase2d.Localize .

MaxVisibleGraphemes

Đọc Song Song

Điều này kiểm soát số lượng tối đa của các thẻ (hoặc đơn vị của văn bản) được hiển thị trên TextLabel . Nó được cung cấp chủ yếu như một cách dễ dàng để tạo ra một "hiệu ứng máy chủ typewriter" nơi các nhân vật xuất hiện một cách từ từ.

Đổi tính chất không đổi vị trí hoặc kích thước của các ô thị hiện có - trang bị sẽ được tính toán như thể tất cả các ô thị hiện có.

Đặt thuộc tính để -1 tắt giới hạn và hiển thị toàn bộ TextLabel.Text .

Mẫu mã

Typewriter Effect with MaxVisibleGraphemes

local TweenService = game:GetService("TweenService")
local textObject = script.Parent
local tweenInfo = TweenInfo.new(
4, -- it takes 4 seconds for the effect to complete
Enum.EasingStyle.Sine, -- typing starts fast and slows near the end
Enum.EasingDirection.Out
)
local tween = TweenService:Create(textObject, tweenInfo, {
-- Final value should be the total grapheme count
MaxVisibleGraphemes = utf8.len(textObject.ContentText),
})
tween:Play()
tween.Completed:Wait()
-- Reset the value so it can be tweened again
textObject.MaxVisibleGraphemes = -1

OpenTypeFeatures

Đọc Song Song

OpenTypeFeaturesError

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

RichText

Đọc Song Song

Thuộc tính này xác định whether the TextLabel renders the TextLabel.Text string using rich text formatting. Rich text uses simple markup tags to style sections of the string in bold, italics, specific colors, and more.

Để sử dụng văn bản mở rộng, hãy bao gồm các thẻ biểu tượng hóa trong dòng TextLabel.Text của chuỗi.

Text

Đọc Song Song

Thuộc tính Văn bản xác định nội dung được hiển thị bởi thành phần UI. Các thuộ

Có thể tạo ra các biểu tượng emoji (như cái 😃) và các biểu tượng khác. Các biểu tượng đặc biệt này không bị ảnh hưởng bởi thuộc tính TextLabel.TextColor3 . Các biểu tượng này có thể được dán v

Đặc tính này có thể chứa các ký tự mới, nhưng nó không thể được gõ trong các ký tự mới trong các cửộc sống. Tương tự, đặc tính này có thể chứa một nhân vật tab, nhưng nó sẽ được hiển thị như một dấu câu trong các cửộc sống.

Mẫu mã

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
"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
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
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
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

Giao hàng đọc chỉ định TextBounds phản ánh kích thước chính xác của văn bản đã được hiển thị trong các khoảng cách. Với những lời khác, nếu bạn cố gắng để đặt văn bản vào một hình chữ nhật, thì định tuyến này sẽ phản ánh các kích thước tối thiểu của hình chữ nhậ

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

Mẫu mã

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

Thuộc tính này xác định màu của tất cả các chữ cái được hiển thị bởi một thành phần GUI . This property along with TextLabel.Font , TextLabel.TextSize and <

Quan trọng là text 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, màu xám hoặc đen. Make sure the color of your text is contrasted by the TextLabel.BackgroundColor3 of the GUI element. If the element has a transparent background

Mẫu mã

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)
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)
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
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

TextFits

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

TextFits là một tính năng đọc chỉ được xác định là sai nếu nội dung TextLabel.Text không phù hợp với Class.GuiBase

Mẫu mã

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

TextScaled

Đọc Song Song

Thay vì sử dụng TextScaled, chúng tôi khuyến nghị bạn xem xét sử dụng AutomaticSize, một phương pháp mới để thu nhỏ UI một cách tự động mà sẽ cho bạn kết quả thị giác tốt nhất có thể.

Thuộc tính TextScaled xác định có phải text được nhân bằng cỡ nội dung toàn bộ thành phần UI không? Khi bật điều này, TextLabel.TextSize được bỏ qua và TextLabel.TextWrapped được tự động bậ

Khi sử dụng thuộc tính này cho UI screen-space, có thể đáng khuyến khích sử dụng một UITextSizeConstraint để hạn chế phạm vi các kích thước chữ khải.

TextScaled và AutomaticSize

Được khuyến nghị rằng các nhà phát triển tránh sử dụng TextScaled và điều chỉnh UI để tận dụng tính tự động thay đổi kích thước nhưng thay vào đó là tính tự động thay đổi kích thước. Dưới đây là sự khác biệt chính giữa hai tính năng này:

  • TextScaled tăng cỡ nội dung (văn bản) để chấp nhận UI. Mà không có sự cân nhắc kỹ lưỡng, một số văn bản có thể trở nên không đọc được nếu bạn thu nhỏ quá nhỏ.
  • Kích thước tự động thay đổi kích thước của UI để chứa nội dung.

Với AutomaticSize, bạn có thể điều chỉnh UI của bạn để chứa nội dung (văn bản) mà vẫn duy trì kích thước chữ (kiểu chữ). Để biết thêm thông tin về cách sử dụng kiểu chữ tự động, hãy xem bài viết UI tự động Size.

Chúng tôi khuyến nghị 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 đặt tính này:

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

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

Mẫu mã

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 các ô chỉ thị của một dòng chữ được xử lý. Đơn vị là trong các ô chỉ thị, không phải là đ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). Nó đáng lưu ý rằng chiều cao dòng chữ "Legacy" có thể khác nhau

Điều này và TextLabel.TextColor3 , TextLabel.TextTransparency , TextLabel.TextStrokeColor3 và 1> Class.TextLabel.TextStrokeTransparency1> ảnh hưởng đến cách text được hiển thị.

Điều này đã được đổi TextLabel.FontSize nên, vì đó là một số và không phải là một danh sách. Trong nội dung, Roblox sử dụng một loạt các bộ ảnh nhân vật đã chuẩn bị cho mỗi

Mẫu mã

"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 cái đoạn, hoặc nét tương tự của chữ được hiển thị. This property and TextLabel.TextStrokeTransparency định hướng các thuộc tính hình ảnh của cái đoạn.

Text stroke được hiển thị trước text thường và chỉ là 4 render của cùng một text ở +/- 1 pixel offsets trong mỗi hướng. Text stroke render hoạt động độc lập và giống nhau đối với TextLabel.TextColor3TextLabel.TextTransparency .

Mẫu mã

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 cài đặt độ trong suốt của các đường nét hoặc nét bên trên của chữ được hiển thị. Thuộc tính này và TextLabel.TextStrokeColor3 xác định các thuộc tính thị giác của các đường nét.

Hiệu ứng chữ viết được tạo trước thường văn bản và chỉ đơn giản là 4 renderings

Mẫu mã

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 kết cấu chữ được hiển thị bởi một thành phần UI. Thuộc tính này cùng với TextLabel.Font , TextLabel.TextSize

Việc thay đổi chữ trong một vòng lặp sử dụng một số bằng văn bản 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ã

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
"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

Điều khiển sự cắt xé của văn bản được hiển thị trong TextLabel này.

TextWrapped

Đọc Song Song

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

Điều này đạt được bằng cách phân các dòng văn bản thành nhiều dòng. Các dòng cắt sẽ ưa thích dấu trắng; nếu một từ không được cắt đứt vượt qua chiều rộng của thành phần, từ đó sẽ được chia thành nhiều dòng.

Nếu các dòng nối dòng tiếp theo gây ra chiều cao dọc của văn bản (nhà cung cấp Y của TextLabel.TextBounds ) vượt quá chiều cao dọc của thành phần (nhà cung cấp Y của GuiBase2d.AbsoluteSize), thì dòng đó sẽ không được hiển thị.

Mẫu mã

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 hướng dọc (X-axi) của văn bản được hiển thị trong không gian của một thành phần UI. Nó hoạt động tương tự như property text-align bên trái, bên phải và trung tâm (không có lựa chọn chỉnh sửa). Đối với Left và Right, mỗ

Thuộc tính này được sử dụng kết hợp với TextLabel.TextYAlignment để xác định hoàn toàn vị trí trên cả hai trục. Thuộc tính này sẽ không ảnh hưởng đến các thuộc tính đọc TextLabel.TextBounds và Class.TextLabel.TextF

Mẫu mã

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 vị trí dọc (Y-ax) của văn bản được hiển thị trong không gian của thành phần UI. Đối với Top và Bottom, văn bản được hiển thị như văn bản trên cùng/văn bản dưới cùng của khu vực hộp thoại. Đối vớ

Thuộc tính này được sử dụng kết hợp với TextLabel.TextXAlignment để xác định hoàn toàn vị trí trên cả hai trục. Thuộc tính này sẽ không ảnh hưởng đến các thuộc tính đọc TextLabel.TextBounds và Class.TextLabel.TextF

Mẫu mã

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

Sự Kiện