TextButton

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Un TextButton si comporta in modo simile a TextLabel in termini di rendering con i comportamenti aggiuntivi di un GuiButton . Definisce le stesse proprietà di rendering del testo come una TextLabel lo fa.

Puoi disabilitare la rendering del testo impostando TextButton.TextTransparency a 1. Ciò ti lascerà un rettangolo vuoto che può essere utilizzato come un pulsante.

Campioni di codice

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)

Sommario

Proprietà

Proprietà provenienti da GuiButton
  • Lettura Parallela

    Determina se il pulsante cambia colore automaticamente quando il mouse si posiziona su di esso o lo si fa clic.

  • Lettura Parallela

    Se vero mentre l'elemento GUI è visibile, il mouse non sarà bloccato a meno che il pulsante del mouse destro non sia down.

  • Lettura Parallela

    Una proprietà booleana che indica se l'oggetto è stato selezionato.

  • Lettura Parallela

    Imposta lo stile del GuiButton in base a una lista di stili pre-determinati.

Proprietà provenienti da GuiObjectProprietà provenienti da GuiBase2d

Metodi

Metodi provenienti da GuiObject

Eventi

Eventi provenienti da GuiButtonEventi provenienti da GuiObjectEventi provenienti da GuiBase2d

Proprietà

ContentText

Sola Lettura
Non Replicato
Lettura Parallela

Questa proprietà fornisce una copia di TextButton.Text che contiene esattamente ciò che viene visualizzato dal TextButton . Questo è utile per eliminare gli tag di stile utilizzati per il testo ricco.

Esempio

Quando TextButton.RichText è abilitato, la proprietà TextButton.ContentText mostra il testo come appare al Giocatore.


<tbody>
<tr>
<td>falso</td>
<td>\<b>Ciao, Mondo!\</b></td>
<td>\<b>Ciao, Mondo!\</b></td>
</tr>
<tr>
<td>vero</td>
<td>\<b>Ciao, Mondo!\</b></td>
<td>Ciao, Mondo!</td>
</tr>
</tbody>
Testo riccoTestoTesto di contenuto
Nascosto
Non Replicato
Lettura Parallela

La proprietàFont seleziona uno dei caratteri predefiniti più di cui l'elemento UI renderà il suo testo. Alcuni caratteri hanno caratteri in grassetto, grassetto e / o stili leggeri (poiché non ci sono proprietà di peso o stile del carattere).

Con l'eccezione della font "Legacy", ogni font renderà il testo con l'altezza della linea uguale alla proprietà TextButton.TextSize. La font "Code" è l'unica font monospazio. Ha la proprietà che ogni personaggio ha l'esatta stessa larghezza e altezza di 1:2. La larghezza di ogni personaggio è approssimativamente la metà della Proprietà Class.TextButton

Questa proprietà viene sincronizzata con la ProprietàTextButton.FontFace. Quando si imposta laFont, laFontFace viene impostata su Font.fromEnum(value) .

Campioni di codice

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

Lettura Parallela

La proprietà FontFace è simile alla ProprietàFont, ma consente di impostare caratteri che non esistono nell'elenco dei caratteri.

Questa proprietà viene sincronizzata con la ProprietàTextButton.Font. Quando si impostaFontFace, laFont viene impostata sul valore corrispondente dell'enum, o su Enum.Font.Unknown se non ci sono corrispondenti corrispondenti.

LineHeight

Lettura Parallela

Controlla l'altezza delle righe, come moltiplicazione della dimensione quadrata del carattere, scalando lo spazio tra le righe del testo nel TextButton . I valori validi vanno da 1.0 a 3.0, con l'aggiunta di valori predefiniti a 1.0.

LocalizedText

Nascosto
Sola Lettura
Non Replicato
Lettura Parallela

Questa proprietà imposta se un TextButton dovrebbe essere GuiBase2d.Localize o no.

MaxVisibleGraphemes

Lettura Parallela

Questa proprietà controlla il numero massimo di graforemi (o unità di testo) che sono mostrati sul TextButton . È principalmente fornito come facile modo per creare un "effetto di tipo" in cui i personaggi appaiono uno alla volta.

Cambiare la proprietà non cambia la posizione o la dimensione dei graforemmi visibili - la posizione sarà calcolata come se tutti i graforemmi fossero visibili.

Impostare la proprietà su -1 disabilita il limite e mostra l'interezza del TextButton.Text .

Campioni di codice

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

Lettura Parallela

OpenTypeFeaturesError

Sola Lettura
Non Replicato
Lettura Parallela

RichText

Lettura Parallela

Questa proprietà determina se il TextButton rende la stringa TextButton.Text utilizzando la formattazione del testo ricco. Il testo ricco utilizza semplici tag di markup per stilare sezioni della stringa in grassetto, sottolineature, colori specifici e altro ancora.

Per utilizzare il testo ricco, semplicemente includi i tag di formattazione nella TextButton.Text Stringa.

Text

Lettura Parallela

La proprietà Text determina il contenuto visualizzato dall'elemento UI. Le proprietà visive della stringa rendere sul schermo sono determinati da TextButton.TextColor3 , <

È possibile rendere emoji (per esempio, 😃) e altri simboli. Questi simboli speciali non sono influenzati dalla proprietà TextButton.TextColor3. Questi possono essere pastati in Script e LocalScript oggetti, nonché nella finestra Proprietà.

Questa proprietà può contenere caratteri nuovi, tuttavia, non è possibile digitare caratteri nuovi nella finestra Proprietà. Allo stesso modo, questa proprietà può contenere un carattere tab, ma sarà visualizzato come spazio invece.

Campioni di codice

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

Sola Lettura
Non Replicato
Lettura Parallela

La proprietà TextBounds riflette il volume di testo renduto in pixelizzazione. In altre parole, se provassi a mettere il testo in un rettangolo, questa proprietà rifletterebbe le dimensioni minime del rettangolo che dovresti usare per adattare il testo.

Usando TextService:GetTextSize() , puoi predire quali saranno i TextBounds su un TextLabel dato una Stringa, TextButton.Font , TextButton.TextSize e la dimensione della framma.

Campioni di codice

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

Lettura Parallela

Questa proprietà determina il colore di tutto il testo visualizzato da un elemento GUI . Questa proprietà insieme a TextButton.Font , TextButton.TextSize e 1> Class.TextButton.Transparency1> determinerà le proprietà visive del testo. Il testo

È importante che il testo sia facilmente letto dai giocatori! Assicurati di scegliere colori con una saturazione minima-no, come bianco, grigio o nero. Assicurati che il colore del tuo testo sia contraddistinto dalla TextButton.BackgroundColor3 dell'elemento UI. Se l'elemento ha un sfondo trasparente, prova ad applicare un bianco

Campioni di codice

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

Lettura Parallela

TextFits

Sola Lettura
Non Replicato
Lettura Parallela

Una rappresentazione booleana se il testo del pulsante di testo rientra nella sua dimensione.

TextScaled

Lettura Parallela

Piuttosto che usare TextScaled, ti consigliamo di considerare l'uso di AutomaticSize, un nuovo metodo per ridimensionare automaticamente l'interfaccia utente che ti darà il miglior risultato visivo possibile.

La proprietà TextScaled determina se il testo viene ingrandito in modo che riempia l'intero Spaziodell'elemento UI. Quando questa è abilitata, TextButton.TextSize viene ignorata e TextButton.TextWrapped viene abilitato automaticamente. Questa proprietà è utile per il rendimento del testo UI all'interno di BillboardGuis .

Quando questa proprietà viene utilizzata per l'interfaccia utente dello spazio di schermo, potrebbe essere desiderabile utilizzare un UITextSizeConstraint per limitare la gamma di possibili dimensioni di testo.

TextScaled e AutomaticSize

Si consiglia ai developer di evitare l'uso di TextScaled e di regolare l'interfaccia utente per ottenere vantaggio della proprietà AutomaticSize invece. Ecco le differenze principali tra le due proprietà:

  • TextScaled ingrandisce il contenuto (testo) per adattare l'interfaccia utente. Senza una attenta considerazione, alcuni testo potrebbero diventare illeggibili se ingranditi troppo piccoli.
  • AutomaticSize ridimensiona l'UI per contenere il contenuto.

Con AutomaticSize, è possibile regolare la tua interfaccia utente per accogliere il contenuto (testo) mantenendo una dimensione di carattere coerente. Per ulteriori informazioni su come utilizzare l'automiscing, vedi l'articolo Automatic Size UI.

Consigliamo di non applicare sia TextScaled che AutomaticSize sullo stesso oggetto UI. Se applici entrambe le proprietà:

  • AutomaticSize determina la quantità massima di spazio disponibile che un GuiObject può utilizzare (in questo caso, testo)
  • TextScaled usa il spazio disponibile determinato da AutomaticSize, per ridimensionare la dimensione del carattere per adattarsi allo Spaziodisponibile, che si espanderà fino alla dimensione massima del carattere (100), se non ci sono vincoli di dimensioni
  • L'esito finale sarà: il testo passa a 100 pixel e l'oggetto UI si espanderà per adattarsi a quel testo

L'utilizzo di entrambi i valori automatici e TextScaled contemporaneamente può comportare notevoli differenze di dimensioni rispetto a quando AutomaticSize è Off.

Campioni di codice

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

Lettura Parallela

La proprietà TextSize determina l'altezza negli spazi in OFFSET di una riga di testo rendering. L'unità è in OFFSET, non punti (che sono utilizzati nella maggior parte dei programmi di modifica dei documenti). Il carattere "Legacy" non contiene questa Proprietà.

Campioni di codice

"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

Lettura Parallela

La proprietà TextStrokeColor3 imposta il colore del tratto, o dell'outline, del testo renduto. Questa proprietà e TextButton.TextStrokeTransparency determinano le proprietà visive del tratto.

Il tratto di testo viene reso prima del testo normale e sono semplicemente 4 render di lo stesso testo in +/- 1 pixel off-set in ciascuna direzione. Il tratto di testo viene reso indipendentemente e identificativamente a TextButton.TextColor3 e TextButton.TextTransparency .

Campioni di codice

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

Lettura Parallela

La proprietà TextStrokeTransparency imposta la trasparenza del tratto, o dell'outline, del testo renduto. Questa proprietà e TextButton.TextStrokeColor3 determinano le proprietà visive del tratto.

Il tratto di testo viene visualizzato prima del testo normale e è semplicemente 4 render di lo stesso testo in +/- 1 pixel offset in ciascuna direzione. Il tratto di testo

Campioni di codice

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

Lettura Parallela

La proprietà TextColor3 determina la trasparenza di tutto il testo visualizzato da un elemento UI. Questa proprietà insieme a TextButton.Font , TextButton.TextSize e TextButton.TextColor3 determinerà le proprietà visive del testo. Il testo viene visualizzato dopo il tratto del testo ( 1> Class.TextButton.

L'uso di un testo fading in un for- loop numerico è un modo fantastico per attirare l'attenzione del Giocatoresul testo che appare sullo schermo.


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

Campioni di codice

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

Lettura Parallela

Controlla la clip della lettera mostrata in questo TextButton.

TextWrapped

Lettura Parallela

Quando è abilitato, questa proprietà renderizza il testo su più righe all'interno di un GUI elemento spazio in modo che TextButton.TextBounds non supererà mai il GuiBase2d.AbsoluteSize della UI elemento.

Questo è ottenuto spezzando lunghe righe di testo in più righe. Le interruzioni di linea preferiranno lo spazio bianco; se una parola non correttamente inserita supera la larghezza dell'elemento, quella parola verrà spezzata in più righe.

Se ulteriori interruzioni di riga causassero l'altezza verticale del testo (il Y component di TextButton.TextBounds ) a superare l'altezza verticale dell'elemento (il Y component di GuiBase2d.AbsoluteSize ) non verrà visualizzata tutti/tutte.

Campioni di codice

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

Lettura Parallela

TextXAlignment determina l'allineamento orizzontale (asse X) del testo renduto all'interno dello Spaziodi un elemento UI. Funziona allo stesso modo della Proprietàtext-align della CSS, con valori di sinistra, di destra e di centro (non c'è opzione di giustificazione). Per Sinistra e Destra, il testo viene visualizzato in modo che il confine di testo sinistra/destra tocchi l'angolo dell'Elemento dell'Elemento UI. Per Centro, ogni riga di test

Questa proprietà viene utilizzata in conjunction con TextButton.TextYAlignment per determinare completamente l'allineamento del testo su entrambi gli assi. Questa proprietà non influirà sulle proprietà read-only TextButton.TextBounds e TextButton.TextFits .

Campioni di codice

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

Lettura Parallela

TextYAlignment determina l'allineamento verticale (Y-axis) del testo renduto all'interno dello Spaziodi un elemento UI. Per Top e Bottom, il testo viene renduto in modo che i confini del testo superiore/ inferiore toccino l'angolo dell'elemento UI. Per Center, il testo viene renduto in modo che ci sia uno spazio pari dalla parte superiore dei confini del testo alla parte inferiore dello spazio dell'elemento e che ci sia uno spazio pari dalla parte inferiore dei confini del testo alla parte super

Questa proprietà viene utilizzata in conjunction con TextButton.TextXAlignment per determinare completamente l'allineamento del testo su entrambi gli assi. Questa proprietà non influirà sulle proprietà read-only TextButton.TextBounds e TextButton.TextFits .

Campioni di codice

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

Metodi

Eventi