TextButton

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

一個 TextButton 與 TextLabel 相同地處理在與 GuiButton 的額外行為相關的渲染。它定義了與 TextLabel 相同的文字渲染程式。

您可以設置 TextButton.TextTransparency 為 1 來禁用文字渲染。這將剩下一個空白的正方形,可以作為按鈕使用。

範例程式碼

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)

概要

屬性

屬性 繼承自 GuiButton
  • 平行讀取

    決定是否在滑鼠悠閒時自動變更按鈕的顏色。

  • 平行讀取

    如果 GUI 元素可見,否則鼠標將不會鎖定,除非右鍵已按下。

  • 平行讀取

    一個Boolean 屬性,表示對象是否已選擇。

  • 設定按鈕按鈕的造型,以基於預設造型的列表。

屬性 繼承自 GuiObject屬性 繼承自 GuiBase2d

方法

方法 繼承自 GuiObject

活動

活動 繼承自 GuiButton活動 繼承自 GuiObject活動 繼承自 GuiBase2d

屬性

ContentText

唯讀
未複製
平行讀取

這個屬性提供一個複製TextButton.Text的副本,其中包含準確的內容,由TextButton所渲染。這很有用,因為它可以用於移除使用於豐富文字的樣式標籤。

範例

TextButton.RichText 啟用時, TextButton.ContentText 屬性會顯示玩家看到的文字。


<tbody>
<tr>
<td>否</td>
<td>\<b>你好,\<br/>世界!\</b></td>
<td>\<b>你好,\<br/>世界!\</b></td>
</tr>
<tr>
<td>真的</td>
<td>\<b>你好,\<br/>世界!\</b></td>
<td>你好,世界!</td>
</tr>
</tbody>
豐富的文字文字內容文字
隱藏
未複製
平行讀取

字體屬性選擇幾個預設字體,與UI元素合成其文字。一些字體有強烈的義大利體、標籤和/或淺色變體 (因為沒有字體重量或字體風格屬性).

除了 "Legacy" 字體之外,每個字體都會以相同的線距等同於 TextButton.TextSize 屬性。 "Code" 字體是唯一的單行字體。它有獨特的屬性,每個角色都有完全相同的寬度和高度比率。每個角色的寬度大約是 TextButton.TextSize 的一

此屬性與 TextButton.FontFace 屬性保持同步。設置字體時,字體面會設置為 Font.fromEnum(value)

範例程式碼

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

平行讀取

FontFace 屬性與字體屬性相似,但可以設定不存在於字體枚表中的字體。

此屬性與 TextButton.Font 屬性保持同步。設置字體時,字體將設置到相應的枚列值,或者在 Enum.Font.Unknown 如果沒有匹配。

LineHeight

平行讀取

控制線的高度,作為字體的方形尺寸的多重,通過在 TextButton 中的文字之間的空格尺寸來調整線之間的空格尺寸。 有效值範圍為 1.0 至 3.0,預設為 1.0。

LocalizedText

隱藏
唯讀
未複製
平行讀取

此屬性設定是否要將 TextButton 變更為 GuiBase2d.Localize 或不變更。

MaxVisibleGraphemes

平行讀取

此屬性控制在 TextButton 上顯示的最大圖形數量 (或文字單位) 。它主要提供一個簡單的方法來創建 "輸入效果",在哪裡角色會一次出現。

變更屬性不會改變可見的圖形的位置或大小 - 結構將以可見的所有圖形為準確度計算。

將屬性設為 -1 會禁用限制,並且顯示整個 TextButton.Text

範例程式碼

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

平行讀取

OpenTypeFeaturesError

唯讀
未複製
平行讀取

RichText

平行讀取

此屬性決定 TextButton 是否以重新排列的方式渲染 TextButton.Text 字串。重新排列使用簡易標記標籤來格式範圍的字串在 bold、italic、指定顏色等方面進行風格化。

要使用豐富的文字,您只需要在 TextButton.Text 字串中包含格式標籤。

Text

平行讀取

文字屬性決定內容由UI元素渲染。視覺屬性由 TextButton.TextColor3、Class.TextButton.TextTrans

您可以渲染表情符號 (例如,😃) 和其他符號。這些特殊符號不受 TextButton.TextColor3 屬性的影響。這些內容可以被貼到 ScriptLocalScript 對象,以及在 1> Properties 窗口中的字段。

此屬性可能包含新行字符,但它不是可以在屬性窗口中輸入新行字符。同樣,此屬性可能包含Tab字符,但它會以空格代理輸入。

範例程式碼

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

唯讀
未複製
平行讀取

只讀取的屬性 TextBounds 反射畫面上的文字大小。 用其他話來說,如果您嘗試將文字寫進矩形,這個屬性將反射您需要才能寫入文字的最小尺寸。

使用 TextService:GetTextSize() ,您可以預測文字框將在指定的文字標籤上, TextButton.FontTextButton.TextSize 和框架尺寸。

範例程式碼

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

平行讀取

這個屬性將所有由 GUI 元素所渲染的文字的顏色決定。這個屬性以及 TextButton.FontTextButton.TextSize 和 1> Class.TextButton.Transparency1> 將決定文字的視

重要的是,玩家容易讀取文字!請確保選擇滋衍度小於或等於 TextButton.BackgroundColor3 的顏色,例如白色、灰色或黑色。請確保文字的顏色與介面元素的背景顏色相對應。如果元素有透明背景,請使用黑色 Class.TextButton

範例程式碼

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

平行讀取

TextFits

唯讀
未複製
平行讀取

是否表示文字按鈕的文字是否能夠包含在其尺寸內。

TextScaled

平行讀取

而不是使用 TextScaled,我們建議您考慮使用 AutomaticSize ,這是一種新的方法來動態尺寸用戶界面,以獲得最佳視覺效果。

TextScaled 屬性決定是否要將文字縮放到整個 UI 元素的空間。 啟用此屬性時, TextButton.TextSize 會被忽略,而 TextButton.TextWrapped 則自動啟用。此屬性對於文字-渲染 UI 元素內的 BillboardGuis 有用。

當此屬性用於屏幕空間 UI 時,可能會有需要使用 UITextSizeConstraint 來限制可能的文字大小範圍。

文字大小和自動大小

建議開發人員避免使用 TextScaled 並調整 UI 以取得自動大小屬性的優勢。 這裡是兩個屬性之間的核心差別:

  • TextScaled 將內容 (text) 調整為容納 UI 的大小。 若不小心,一些文字可能會因為縮放而變得難以讀取。
  • 自動大小會將內容調整為 UI 。

使用自動大小即可調整您的 UI 來容納內容 (文字) ,並且保持一致的字體大小。有關自動大小的更多資訊,請參閱「UI 自動大小」文章。

我們建議您不要在同一個 UI 對物件上應用兩種文字大小和自動大小。如果您應用兩種屬性:

  • 自動大小將可用空間的最大值決定 (在此案例中,文字)
  • TextScaled 使用自動大小確定的可用空間來調整字體大小,以符合可用空間,這會在最大字體大小 (100) 如果沒有尺寸限制
  • 結果將是:文字將以 100 字體大小顯示,並且介面對象將會擴展以容納這些文字

使用自動大小和文字大小兩個自動減少器,可能會在自動大小關閉時發生較大的縮放差異。

範例程式碼

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

平行讀取

TextSize 屬性決定一條渲染文字的高度。單位是在偏移量中,不是點 (在大多數文件編輯程式中使用)。「傳承」字體不持有此屬性。

範例程式碼

"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

平行讀取

TextStrokeColor3 屬性設定文本渲染時的輪廓或輪廓顏色。這個屬性和 TextButton.TextStrokeTransparency 決定文字輪廓的視覺屬性。

文字擊箭頭是在正常文字和前文本中渲染,並且只是在+/-1個Pixel衝擊擊箭頭的四個渲染在每個方向中作動。文字擊箭頭渲染是獨立並且相同的4個擊箭頭在+/-1個Pixel衝擊擊箭頭的四個渲染。

範例程式碼

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

平行讀取

TextStrokeTransparency 屬性設定結束時文字的層級透明度,或稱外部色。這個屬性和 TextButton.TextStrokeColor3 決定文字外部色的視覺特性。

文字擊線在正常文字和簡單的文字擊線之前會渲染,並且在每個方向的 +/- 1 個 pixel 的距離

範例程式碼

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

平行讀取

TextColor3 屬性決定所有由 UI 元素渲染的文字的透明度。這個屬性以及 TextButton.FontTextButton.TextSizeTextButton.TextColor3 會決定文字的視覺屬性。文字會在文字擊押後 ( 1>

使用數字 for- loop 來顯示屏幕上顯示的文字是一種絕妙的方法來吸引玩家的注意。


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

範例程式碼

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

平行讀取

控制此文字按鈕顯示的文字的切換。

TextWrapped

平行讀取

啟用時,這個屬性會在 GUI 元素的空間中渲染文字,讓 TextButton.TextBounds 永遠不會超過 UI 元素的 GuiBase2d.AbsoluteSize

這可以通過將長文字分為多個行來達到此目的。 行分頁會優先擁有空格;如果長文字沒有空格,文字會被分為多個行。

如果再次行斷會導致文本的垂直高度超過元素的垂直高度 (TextButton.TextBounds 的 Y 元件),則該條線將不會渲染。

範例程式碼

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

平行讀取

TextXAlignment 決定了文本在 UI 元素的空間中的水平正렬 (X 軸) 。它與 CSS 文字對齊屬性相同,左,右和中心值 (沒有左邊/右邊文本範圍)。對於左和右,文本會在文本元素的左邊/右邊範圍內正確對稱。對於中心,每個文字行都會在文本元素的中心值上正確對稱

此屬性與 TextButton.TextYAlignment 一起使用,以完全確定在兩個軸上的文字對齊。此屬性不會影響閱取專用屬性 TextButton.TextBoundsTextButton.TextFits

範例程式碼

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

平行讀取

文字對齡軸決定了文字在 UI 元素的空間中的垂直對齡。對於上方和下方,文字會以 Y 軸的形式呈現,兩個上方/下方的文字範圍分別擁有文字元素的邊緣。對於中間,文字會以 Y 軸的形式呈現,兩個上方/下方的文字範圍分別為兩個元素的�

此屬性與 TextButton.TextXAlignment 一起使用,以完全確定在兩個軸上的文字對齊。此屬性不會影響閱取專用屬性 TextButton.TextBoundsTextButton.TextFits

範例程式碼

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

方法

活動