Classe do mecanismo
TextLabel
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Resumo
Propriedades
Amostras de código
Texto do Estado do Jogo
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Coloque um StringValue chamado "GameState" no ReplicatedStorage
local vGameState = ReplicatedStorage:WaitForChild("GameState")
-- Coloque este código em um TextLabel
local textLabel = script.Parent
-- Algumas cores que vamos usar com TextColor3
local colorNormal = Color3.new(0, 0, 0) -- preto
local colorCountdown = Color3.new(1, 0.5, 0) -- laranja
local colorRound = Color3.new(0.25, 0.25, 1) -- azul
-- Vamos executar esta função para atualizar o TextLabel à medida que o estado do
-- jogo muda.
local function update()
-- Atualize o texto
textLabel.Text = "Estado: " .. vGameState.Value
-- Defina a cor do texto com base no estado atual do jogo
if vGameState.Value == "Countdown" then
textLabel.TextColor3 = colorCountdown
elseif vGameState.Value == "Round" then
textLabel.TextColor3 = colorRound
else
textLabel.TextColor3 = colorNormal
end
end
-- Padrão: atualizar uma vez quando começamos e também quando vGameState muda
-- Devemos sempre ver o GameState mais atualizado.
update()
vGameState.Changed:Connect(update)Referência API
Propriedades
Font
Amostras de código
Mostrar Todas as Fontes
local frame = script.Parent
-- Crie um TextLabel exibindo cada fonte
for _, font in pairs(Enum.Font:GetEnumItems()) do
local textLabel = Instance.new("TextLabel")
textLabel.Name = font.Name
-- Defina as propriedades do texto
textLabel.Text = font.Name
textLabel.Font = font
-- Algumas propriedades de renderização
textLabel.TextSize = 24
textLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Tamanho do frame igual à altura do texto
textLabel.Size = UDim2.new(1, 0, 0, textLabel.TextSize)
-- Adicione ao frame pai
textLabel.Parent = frame
end
-- Organize os frames em uma lista (se já não estiverem)
if not frame:FindFirstChildOfClass("UIListLayout") then
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = frame
endFonte do Ciclo
local textLabel = script.Parent
while true do
-- Iterar sobre todas as diferentes fontes
for _, font in pairs(Enum.Font:GetEnumItems()) do
textLabel.Font = font
textLabel.Text = font.Name
task.wait(1)
end
endFontSize
Text
Amostras de código
Banner Desvanecente
local TweenService = game:GetService("TweenService")
local textLabel = script.Parent
local content = {
"Bem-vindo ao meu jogo!",
"Certifique-se de se divertir!",
"Por favor, dê sugestões!",
"Seja gentil com outros jogadores!",
"Não estrague a diversão de outros jogadores!",
"Confira a loja!",
"Dica: Não morra!",
}
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
-- Passo 0: Desvanecer antes de fazer qualquer coisa
fadeOut:Play()
task.wait(tweenInfo.Time)
-- Passo 1: escolher conteúdo que não foi o último exibido
local index
repeat
index = RNG:NextInteger(1, #content)
until lastIndex ~= index
-- Certifique-se de que não mostremos a mesma coisa da próxima vez
lastIndex = index
-- Passo 2: mostrar o conteúdo
textLabel.Text = content[index]
fadeIn:Play()
task.wait(tweenInfo.Time + 1)
endEmoji em Texto
local textLabel = script.Parent
local moods = {
["happy"] = "😃",
["sad"] = "😢",
["neutral"] = "😐",
["tired"] = "😫",
}
while true do
for mood, face in pairs(moods) do
textLabel.Text = "Estou me sentindo " .. mood .. "! " .. face
task.wait(1)
end
endTextBounds
Amostras de código
Tamanho Dinâmico da Caixa de Texto
local textBox = script.Parent
-- O menor que a TextBox irá ficar
local minWidth, minHeight = 10, 10
-- Define o alinhamento para que nosso texto não oscile enquanto digitamos
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)TextColor
TextColor3
Amostras de código
Texto de Contagem Regressiva
-- Coloque este código em um LocalScript dentro de um TextLabel/TextButton
local textLabel = script.Parent
-- Algumas cores que usaremos com TextColor3
local colorNormal = Color3.new(0, 0, 0) -- preto
local colorSoon = Color3.new(1, 0.5, 0.5) -- vermelho
local colorDone = Color3.new(0.5, 1, 0.5) -- verde
-- Loop infinita
while true do
-- Contar regressivamente de 10 a 1
for i = 10, 1, -1 do
-- Definir o texto
textLabel.Text = "Tempo: " .. i
-- Definir a cor com base em quanto tempo resta
if i > 3 then
textLabel.TextColor3 = colorNormal
else
textLabel.TextColor3 = colorSoon
end
task.wait(1)
end
textLabel.Text = "VAI!"
textLabel.TextColor3 = colorDone
task.wait(2)
endTextSize
Amostras de código
"Kaboom!" Texto
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)
endTextStrokeTransparency
Amostras de código
Oscilação do Destaque de Texto
local textLabel = script.Parent
-- Quão rápido o destaque deve piscar
local freq = 2
-- Definindo a cor do destaque para amarelo
textLabel.TextStrokeColor3 = Color3.new(1, 1, 0)
while true do
-- math.sin oscila de -1 a 1, então mudamos o intervalo para 0 a 1:
local transparency = math.sin(workspace.DistributedGameTime * math.pi * freq) * 0.5 + 0.5
textLabel.TextStrokeTransparency = transparency
task.wait()
endTextWrap
TextWrapped
Amostras de código
Quebra de Texto Longo
local textLabel = script.Parent
-- Este exemplo de quebra de texto é melhor mostrado em um retângulo de 200x50 px
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Alguns conteúdos para soletrar
local content = "Aqui está uma longa string de palavras que "
.. "eventualmente excederá a largura do elemento UI "
.. "e formará quebras de linha. Útil para parágrafos "
.. "que são realmente longos."
-- Uma função que soletrará o texto dois caracteres por vez
local function spellTheText()
-- Itera de 1 até o comprimento do nosso conteúdo
for i = 1, content:len() do
-- Obtém uma substring do nosso conteúdo: 1 até i
textLabel.Text = content:sub(1, i)
-- Colorir o texto se não couber na nossa caixa
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Preto
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Vermelho
end
-- Aguarde um breve momento em comprimentos pares
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Soletrar o texto com escala/quebra desligada
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Soletrar o texto com quebra ligada
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Soletrar o texto com escalonamento de texto ligado
-- Nota: O texto fica vermelho (TextFits = false) uma vez que o texto tem que ser
-- reduzido para caber dentro do elemento UI.
textLabel.TextScaled = true
-- Nota: TextWrapped é habilitado implicitamente quando TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
endTextXAlignment
Amostras de código
Alinhamento de Texto
-- Cole isso em um LocalScript dentro de um 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
-- Iterar sobre os itens do enum TextXAlignment e TextYAlignment
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