TextButton

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 TextButton hành xử tương tự như TextLabel trong quản lý với các hành vi bổ sung của một GuiButton . Nó định nghĩa cùng các thuộc tính tạo nội dung văn bản như một TextLabel .

Bạn có thể tắt hiển thị chữ bằng cách đặt TextButton.TextTransparency để 1. Điều này sẽ để lại cho bạn một hình chữ nhật dương có thể được sử dụng như một nút.

Mẫu mã

Click Counter

-- Place this code in a LocalScript in a TextButton
local textButton = script.Parent
local counter = 0
textButton.Text = "Click me!"
local function onActivated()
counter = counter + 1
textButton.Text = "Clicks: " .. counter
end
textButton.Activated:Connect(onActivated)

Tóm Tắt

Thuộc Tính

Thuộc Tính kế thừa từ GuiButton
  • Đọc Song Song

    Xác định màu sắc của nút khi chuột hoạt động trên hoặc nhấp vào nó.

  • Đọc Song Song

    Nếu đúng khi thành phần GUI đang hiển thị, chuột sẽ không bị khóa nếu nút chuột phải không được nhấn.

  • Đọc Song Song

    Một đặt tínhBoolean để cho biết có phải chọn một đối tượng nào không.

  • Đọc Song Song

    Định dạng kiểu của GuiButton dựa trên một danh sách các kiểu đã đị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ừ GuiButtonSự 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 TextButton.Text đó chứa chính xác những gì đang được hiển thị bởi TextButton . Đ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 TextButton.RichText được bật, thuộc tính TextButton.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 đặ性 TextButton.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 đặt tên TextButton.FontFace . Khi cài đặtFont, đặtFontFace được đặt để 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 TextButton.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 TextButton . 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.TextButton``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ành phần (hoặc đơn vị văn bản) được hiển thị trên TextButton . 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ủ" 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ộ TextButton.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

Điều này xác định liệu TextButton render the TextButton.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 TextButton.Text .

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 TextButton.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, TextButton.Font , TextButton.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 TextButton.Font , Class.TextButton.TextSize

Quan trọng là text được đọc dễ dàng 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 TextButton.BackgroundColor3 of the UI element.

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

Một biểu tượng boolean để biết liệu văn bản TextButton có phù hợp với kích thước của nó không.

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ào đó không? Khi bật nó, TextButton.TextSize được bỏ qua và TextButton.TextWrapped được tự động bật. Thuộc tính này hữu ích

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ữ được hiển thị. Đơn vị được xác định bằng các ô, chứ không phải dấu (như được sử dụng trong hầu hết các chương trình chỉnh sửa tài liệu).Font "Legacy" không hỗ trợ thuộc tính này.

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 đầu dòng hoặc nét của chữ được hiển thị. Điều này và TextButton.TextStrokeTransparency định nghĩa các đặc tính thị giác của cái đầu dòng.

Text stroke được tạo trước text thường và chỉ là 4 render thường của cùng một text ở +/- 1 pixel off-set trong mỗi hướng. Text stroke render hoạt động độc lập và giống nhau đối với TextButton.TextColor3TextButton.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à TextButton.TextStrokeColor3 xác định các thuộc tính thị giác của các đường nét.

Hiệu ứng chữ là một phần của chữ được tạo trước khi hiển thị chính xác chữ n

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 TextButton.Font , TextButton.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én của văn bản được hiển thị trong TextButton 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 GUI để cho phép TextButton.TextBounds sẽ 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 TextButton.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 TextButton.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 TextButton.TextBounds và Class.TextButton.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 TextButton.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 TextButton.TextBounds và Class.TextButton.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