TextLabel

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Un TextLabel renderiza un rectángulo, como un Frame con texto estilado. El rectángulo se puede usar para definir límites de texto, escalado de texto ( TextLabel.TextScaled ) y envolver ( TextLabel.TextWrapped, 2>Class.TextLabel.TextYWrap2>).

Esta clase contiene propiedades que controlan la pantalla del texto, como TextLabel.Font y TextLabel.TextColor3 . Todo el texto que se renderiza por un solo etiqueta de texto tendrá las mismas propiedades visuales; múltiples objetos de etiqueta de texto deben usarse para renderizar varios estilos de texto. Para mostrar solo el texto y oc

TextService:GetTextSize() se puede usar para obtener el tamaño ( bound ) del texto que se renderizaría en un TextLabel dado un tamaño de fuente, fuente y tamaño de marco.

Un objeto UITextSizeConstraint se puede usar para limitar el tamaño del texto con TextLabel.TextScaled habilitado. Se recomienda que el tamaño del texto no sea inferior a 9, de lo contrario, puede no ser visible para la mayoría de los usuarios.

Muestras de código

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)

Resumen

Propiedades

Propiedades heredados de GuiObjectPropiedades heredados de GuiBase2d

Métodos

Métodos heredados de GuiObject

Eventos

Eventos heredados de GuiObjectEventos heredados de GuiBase2d

Propiedades

ContentText

Solo lectura
No replicado
Leer paralelo

Esta propiedad proporciona una copia de TextLabel.Text que contiene exactamente lo que se está renderizando por el TextLabel . Esto es útil para eliminar las etiquetas de estilo que se usan para el texto rico.

Ejemplo

Cuando TextLabel.RichText está habilitado, la propiedad TextLabel.ContentText muestra el texto como aparece al jugador.


<tbody>
<tr>
<td>falso</td>
<td>\<b>Hola, mundo!\</b></td>
<td>\<b>Hola, mundo!\</b></td>
</tr>
<tr>
<td>cierto</td>
<td>\<b>Hola, mundo!\</b></td>
<td>Hola, mundo!</td>
</tr>
</tbody>
Texto RicoTextoTexto de Contenido
Oculto
No replicado
Leer paralelo

La propiedad Fuente selecciona una de varias fuentes predeterminadas con las que se renderizará el texto de la interfaz de usuario. Algunas fuentes tienen versiones negritas, subrayado y/o ligeras (como no hay propiedades de peso de fuente o estilo de fuente).

Con la excepción de la fuente "Legacy", cada fuente renderizará el texto con la altura de línea igual a la propiedad TextLabel.TextSize. La fuente "Code" es la única fuente de monoespacio. Tiene la propiedad única que cada personaje tiene la misma longitud y altura de la propiedad TextLabel.TextSize . La longitud de cada personaje es aproximadamente la mitad de la propiedad <

Esta propiedad se mantiene sincronizada con la propiedad TextLabel.FontFace. Cuando se establece el tipo de fuente, el tipo de fuente se establecerá en Font.fromEnum(value) .

Muestras de código

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

Leer paralelo

La propiedad FontFace es similar a la propiedad Fuente, pero permite establecer fuentes que no existen en el índice de fuentes.

Esta propiedad se mantiene sincronizada con la propiedad TextLabel.Font. Cuando se configura el modo de fuente, la fuente se establece en el valor de enlace correspondiente, o en Enum.Font.Unknown si no hay coincidencias.

LineHeight

Leer paralelo

Controla la altura de las líneas, como múltiplo del tamaño de la fuente, escalando el espaciado entre las líneas de texto en el TextLabel . Los valores válidos se pueden encontrar entre 1.0 y 3.0, con valores predeterminados que oscilan entre 1.0 y 1.5.

LocalizedText

Oculto
Solo lectura
No replicado
Leer paralelo

Esta propiedad establece si un TextLabel debe ser GuiBase2d.Localize o no.

MaxVisibleGraphemes

Leer paralelo

Esta propiedad controla el número máximo de gráficos (o unidades de texto) que se muestran en el TextLabel . Se proporciona principalmente como una forma fácil de crear un "efecto de tipo escribidor" en el que los personajes aparecen uno a la vez.

Cambiar la propiedad no cambia la posición o tamaño de los gráficos de propiedad visible - el diseño se calculará como si todos los gráficos de propiedad estuvieran visibles.

Establecer la propiedad a -1 desactiva el límite y muestra la totalidad del TextLabel.Text .

Muestras de código

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

Leer paralelo

OpenTypeFeaturesError

Solo lectura
No replicado
Leer paralelo

RichText

Leer paralelo

Esta propiedad determina si el TextLabel renderiza la TextLabel.Text cuerda usando formato de texto rico. El texto rico usa etiquetas de marcado simples para estilar secciones de la cuerda en negrito, cursiva, colores específicos y más.

Para usar texto rico, simplemente incluya etiquetas de formato en la TextLabel.Text cadena.

Text

Leer paralelo

La propiedad de texto determina el contenido que se muestra por el elemento de UI. Las propiedades visuales de la cadena se determinan por TextLabel.TextColor3 , <

Es posible renderizar emoji (por ejemplo, 😃) y otros símbolos. Estos símbolos especiales no están afectados por la propiedad TextLabel.TextColor3 . Estos se pueden pegar en Script y LocalScript objetos, así como en la ventana de propiedades.

Esta propiedad puede contener caracteres de nueva línea, sin embargo, no es posible escribir nuevos caracteres de nueva línea dentro de la ventana Propiedades. De manera similar, esta propiedad puede contener un carácter de pestaña, pero se renderizará como un espacio en su lugar.

Muestras de código

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

Solo lectura
No replicado
Leer paralelo

La propiedad TextBounds solo de lectura refleja el tamaño absoluto del texto en los desplazamientos. En otras palabras, si intenta alinear el texto en un rectángulo, esta propiedad reflejará las dimensiones mínimas del rectángulo que necesitaría para alinear el texto.

Al usar TextService:GetTextSize() , puede predecir qué será TextBounds en un TextLabel dado una cadena, TextLabel.Font , TextLabel.TextSize y el tamaño de la ventana.

Muestras de código

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

Leer paralelo

Esta propiedad determina el color de todo el texto renderizado por un elemento GUI >. Esta propiedad junto con TextLabel.Font , TextLabel.TextSize y 2>Class.TextLabel.Transparency2> determinará las propiedades visuales del texto. El texto se renderiza después de la curva de text

¡Es importante que el texto se lea fácilmente por los jugadores! Asegúrese de elegir colores con poca o ninguna saturación, como blanco, gris o negro. Asegúrese de que el color de su texto esté contrastado por el TextLabel.BackgroundColor3 del elemento GUI. Si el elemento tiene un fondo transparente, intente aplicar un negro

Muestras de código

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

Leer paralelo

TextFits

Solo lectura
No replicado
Leer paralelo

El TextFits es una propiedad de lectura que es falso si el contenido de TextLabel.Text no se ajusta dentro del GuiBase2d.AbsoluteSize cuando se renderiza. Si Class.TextLabel.TextWrapped

Muestras de código

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

Leer paralelo

En lugar de usar TextScaled, recomendamos que consideres usar AutomaticSize, un nuevo método para escalar dinámicamente el tamaño de la interfaz de usuario que te dará el mejor resultado visual posible.

La propiedad TextScaled determina si el texto se escala para llenar todo el espacio del elemento de UI. Cuando esto está habilitado, TextLabel.TextSize se ignora y TextLabel.TextWrapped se habilita automáticamente. Esta propiedad es útil para renderizar elementos de texto dentro de BillboardGuis .

Cuando esta propiedad se usa para la interfaz de usuario de espacio de pantalla, puede ser deseable usar un UITextSizeConstraint para restringir el rango de posibles tamaños de texto.

TextScaled y AutomaticSize

Se recomienda que los desarrolladores eviten el uso de TextScaled y ajusten la interfaz de usuario para aprovechar la propiedad AutomaticSize en su lugar. Estas son las diferencias clave entre las dos propiedades:

  • TextScaled escala el contenido (texto) para albergar la interfaz de usuario. Sin una consideración cuidadosa, alguno del texto puede volverse ilegible si se escala demasiado pequeño.
  • AutomaticSize ajusta el tamaño de la interfaz de usuario para albergar el contenido.

Con AutomaticSize, puede ajustar su interfaz de usuario para albergar el contenido (texto) mientras mantiene un tamaño de fuente consistente. Para obtener más información sobre cómo usar el tamaño de fuente automático, consulte el artículo Automatic Size de la interfaz de usuario.

Recomendamos que no apliques TextScaled y AutomaticSize en el mismo objeto de interfaz de usuario. Si aplicas ambas propiedades:

  • AutomaticSize determina la cantidad máxima de espacio disponible que un GuiObject puede usar (en este caso, texto)
  • TextScaled usa el espacio disponible determinado por AutomaticSize, para escalar el tamaño de fuente para llenar el espacio disponible, que se expandirá hasta el tamaño máximo de fuente (100), si no hay limitaciones de tamaño
  • El resultado final será: el texto se alcanza el tamaño de fuente 100 y el objeto de la interfaz de usuario se expandirá para ajustar ese texto

Usar ambos tamaños automáticos y texto escalado al mismo tiempo puede resultar en diferencias de escalado importantes que cuando AutomaticSize está desactivado.

Muestras de código

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

Leer paralelo

La propiedad TextSize determina la altura en oficios de una línea de texto renderizado. La unidad está en oficios, no puntos (que se usa en la mayoría de los programas de edición de documentos). Es de notar que la altura de la línea de fuente "Legacy" se comporta de manera diferente y no coincide con esta propiedad exactamente.

Esta propiedad y TextLabel.TextColor3 , TextLabel.TextTransparency , TextLabel.TextStrokeColor3 y 1> Class.TextLabel.TextStrokeTransparency1> cada una de ellas influye en la forma en que se renderiza el texto.

Esta propiedad supera a TextLabel.FontSize ya que es un número y no un enum. Internamente, Roblox usa varios conjuntos de imágenes de personajes pre-renders para cada tamaño de cada fuente. Elige el tamaño más cercano a TextSize, luego escala ese conjunto de imágenes de personajes para renderizar el texto. Antes de la introducción de esta propiedad, solo

Muestras de código

"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

Leer paralelo

La propiedad TextStrokeColor3 establece el color del cursor, o contorno, del texto renderizado. Esta propiedad y TextLabel.TextStrokeTransparency determinan las propiedades visuales del texto del cursor.

El texto se renderiza antes del texto normal y es simplemente 4 renderings del mismo texto en +/- 1 pixel offsets en cada dirección. El rendimiento de texto está trabajando de forma independiente y idéntica a TextLabel.TextColor3 y TextLabel.TextTransparency .

Muestras de código

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

Leer paralelo

La propiedad TextStrokeTransparency establece la transparencia del stroke, o contorno, del texto renderizado. Esta propiedad y TextLabel.TextStrokeColor3 determinan las propiedades visuales del stroke del texto.

El texto se renderiza antes del texto normal y es simplemente 4 renderings del mismo texto en +/- 1 pixel offsets en cada dirección. El texto se renderiza independientemente y de forma idént

Muestras de código

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

Leer paralelo

La propiedad TextColor3 determina la transparencia de todo el texto renderizado por un elemento de UI. Esta propiedad junto con TextLabel.Font , TextLabel.TextSize y TextLabel.TextColor3 determinará las propiedades visuales del texto. El texto se renderiza después de la curva de texto ( 1> Class.TextLabel.TextStrokeTrans

El texto desapariciendo en el uso de un for-loop es una manera fantástica de llamar la atención del jugador en el texto que aparece en la pantalla.


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

Muestras de código

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

Leer paralelo

Controla la recortadora de texto que se muestra en este TextLabel.

TextWrapped

Leer paralelo

Cuando esté habilitado, esta propiedad renderizará el texto en múltiples líneas dentro del espacio de un GUI elemento para que TextLabel.TextBounds nunca exceda el GuiBase2d.AbsoluteSize de el elemento de la interfaz de usuario.

Esto se logra al dividir long lines of text into multiple lines. Los saltos de línea preferirán espacio en blanco; si una palabra no brocada supera el ancho del elemento, esa palabra se dividirá en múltiples líneas.

Si se producen más líneas rotas, la altura vertical del texto (el componente Y de TextLabel.TextBounds ) superará la altura vertical del elemento (el componente Y de GuiBase2d.AbsoluteSize ) y, en todos/todascaso, no se renderizará ninguna línea.

Muestras de código

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

Leer paralelo

TextXAlignment determina el alineamiento horizontal (X-axis) del texto renderizado dentro del espacio de un elemento de UI. Funciona similarmente a la propiedad de texto de alineamiento de izquierda, derecha y centro (no hay opción de justificación). Para izquierda y derecha, el texto se renderiza para que los límites de texto izquierdo/derecho solo toquen el borde del rectángulo de elemento de UI. Para Centro, cada línea de texto se centra en el centro del elemento de UI.

Esta propiedad se usa en conjunción con TextLabel.TextYAlignment para determinar completamente el alineamiento del texto en ambos ejes. Esta propiedad no afectará a las propiedades de lectura TextLabel.TextBounds y TextLabel.TextFits .

Muestras de código

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

Leer paralelo

TextYAlignment determina el alineamiento vertical (Y-axis) del texto renderizado dentro del espacio de un elemento de UI. Para los elementos de arriba y abajo, el texto se renderiza para que el límite superior/ inferior del texto solo toque el borde del elemento UI. Para el centro, el texto se renderiza para que haya un espacio igual desde los límites superiores del texto hasta la parte superior del elemento y los límites inferiores del texto hasta la parte inferior del elemento.

Esta propiedad se usa en conjunción con TextLabel.TextXAlignment para determinar completamente el alineamiento del texto en ambos ejes. Esta propiedad no afectará las propiedades de lectura TextLabel.TextBounds y TextLabel.TextFits .

Muestras de código

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

Métodos

Eventos