TextButton

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

在 TextButton 与 TextLabel 中,尽管它们与 render 有关,但它们的行为与 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 正在渲染的内容。 这对于使用 Rich 文本的风格标签而言很有用。

例子

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>
丰富的文本文本内容文字
隐藏
未复制
读取并联

字体属性选择一个或多个预设字体,用户界面元素将使用它们来渲染其文本。一些字体有大写、标号和/或浅色变体(因为没有字体重量或字体风格属性)。

除了“传承”字体之外,每个字体都会以等同于 TextButton.TextSize 属性的行高显示文本。 “代码”字体是唯一的单空格字体。它有一个独特的属性,每个角色都有完全相同的宽度和高度比例为 1:2。每个角色的宽度大约为 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 倍。默认值为 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

读取并联

此属性决定 whether the TextButton 使用丰富的文本格式渲染 TextButton.Text 字符。 丰富的文本使用 simple markup 标签来 style 字符的部分以下纵向、 italics、特定颜色等等。

要使用丰富的文本,请在 TextButton.Text 字符串中包含格式标签。

Text

读取并联

文本属性确定UI元素的内容。 视觉属性由 TextButton.TextColor3TextButton.TextTransparency

您可以渲染表情符号(例如, 😃) 和其他符号. 这些特殊符号不受 TextButton.TextColor3 属性的影响. 它们可以被粘贴到 ScriptLocalScript 对象, 以及在属性窗口中的田.

这个属性可能包含新行字符,但它不能在属性窗口中输入新行字符。同样,这个属性可能包含一个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 将在 Offsets 中反射所需的最小文本尺寸。 在其他 words 中,如果您尝试将文本放在长方形中,这个属性将反射您需要在长方形中才能正确处理文本的最小尺寸。

使用 TextService:GetTextSize() ,您可以预测 TextBounds 将在指定的 TextLabel 上, 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> 会决定文本的视觉属性。 文本在文

重要的是,文本必须易于阅读!请确保选择少于或无法饱和度的颜色,例如白色、灰色或黑色。确保文本的颜色与 UI 元素的背景 TextButton.BackgroundColor3 有一致。如果元素有透明背景,请尝试使用黑色 TextButton.TextStrokeColor3 来帮助与

代码示例

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

只读
未复制
读取并联

一个Boolean代表,表示文本按钮的文本是否能够包含在其内部的尺寸。

TextScaled

读取并联

而不是使用 TextScaled,我们建议您考虑使用 AutomaticSize,这是一个新的方法,可以动态为您提供最佳视觉效果。

TextScaled 属性确定是否将文本缩放到填满整个 UI 元素空间。 当这个启用时, TextButton.TextSize 会被忽略, TextButton.TextWrapped 会自动启用。 此属性对于文本渲染 UI 元素在 BillboardGuis 中有用。

当此属性用于屏幕空间用户界面时,可能需要使用 UITextSizeConstraint 来限制可能的文本大小范围。

文字放大和自动放大

建议开发者避免使用 TextScaled 并调整 UI 来利用自动大小属性。 这两个属性之间的核心差异如下:

  • TextScaled 将内容(文本)缩放到容纳 UI 的大小。 无视绩效,如果缩放过小,一些文本可能会变得不可读取。
  • 自动大小将内容扩展到 UI 上。

使用自动大小调整您的 UI 以满足内容(文本)的同时保持一致的字体大小。有关自动大小的更多信息,请参阅“UI 自动大小”文章。

我们建议您不要在同一个 UI 对象上应用 both TextScaled 和 AutomaticSize。 如果您应用了两个属性:

  • 自动大小确定一个 GuiObject 在此可用的最大空间(在此例中,文本)
  • TextScaled 使用自动大小确定的可用空间来缩放字体大小,以满足可用空间,这将扩展到最大字体大小(100),如果没有大小限制
  • 最终结果将是:文本将进入 100 字体大小,UI 对象将扩展以容纳该文本

使用 both AutomaticSize 和 TextScaled 在同一时间使用可能会导致较大的缩放差异,而不会在自动大小关闭时。

代码示例

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 属性确定一个渲染文本的一行高度在 Offset 中。单位是 Offset,而不是点(在大多数文件编辑程序中使用)。“遗产”字体不持有此属性。

代码示例

"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 属性设置绘制的文本的stroke或outline的颜色。 此属性和 TextButton.TextStrokeTransparency 确定文本stroke的视觉属性。

文本渊是在正常文本之前渲染,它是通过+/-1像素 Offset在每个方向上的4个文本渊渲染。 文本渊渲染独立和相同的文本在+/-1像素 Offset在每个方向上。

代码示例

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 属性设置绘制的文本的stroke或outline的透明度。 此属性和 TextButton.TextStrokeColor3 确定文本stroke的视觉属性。

文本渐变是在正常文本之前渲染,它是通过在+/-1像素 Offset在每个方向上的四种不同的渲染来显示文本渐变

代码示例

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 将决定文本的视觉属性。 文本是在文本stroke ( 1> Class.TextButton.TextStrokeTransparency1>

使用数字 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

读取并联

控制显示在此 TextButton 中的文本的切换。

TextWrapped

读取并联

启用时,该属性将在多个行中在 GUI 元素的空间中渲染文本,以便 TextButton.TextBounds 不会超过 UI 元素的 GuiBase2d.AbsoluteSize

这可以通过将长段的文本分为多个行来实现。 行间跳过会优先考虑空格;如果长段文本超出元素宽度,该文字将被分为多个行。

如果进一步的行空格会导致文本的垂直高度超过元素的垂直高度(TextButton.TextBounds),那么该行将不会渲染,因为GuiBase2d.AbsoluteSize的 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

读取并联

文本对齐在 UI 元素的空间内确定横向对齐(X 轴)的文本渲染。它与 CSS 文本对齐属性相同,左、右和中心值(不存在就位选项)。 对于左和右,文本会在左/右文本边界触摸 UI 元素矩形的中心。 对于中心,每个文本行都会在中心元素的角落。

这个属性与 TextButton.TextYAlignment 一起使用,确定在两个轴上的文本对齐。此属性不会影响 read-only 属性 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 轴)的文本渲染。 对于顶部和底部,文本会在顶部/底部文本边缘触摸 UI 元素的边缘。 对于中心,文本会在顶部边缘的文本边缘与元素的底部边缘之间形成平等空间。

这个属性与 TextButton.TextXAlignment 一起使用,确定在两个轴上的文本对齐。 此属性不会影响 read-only 属性 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

方法

活动