TextLabel

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un TextLabel rend un rectangle, comme un Frame , avec du texte style. Le rectangle peut être utilisé pour définir les limites du texte, l'échelle du texte ( TextLabel.TextScaled ) et l'emballage ( TextLabel.TextWrapped , 1> Class.TextLabel.TextXAlignment1>

Cette classe contient des propriétés qui contrôlent l'affichage du texte, telles que TextLabel.Font et TextLabel.TextColor3 . Tout le texte rendu par un seul élément de texte aura les mêmes propriétés visuelles ; plusieurs objets de classe de texte doivent être utilisés pour rendre plusieurs styles de texte. Pour afficher uniquement le texte et mas

TextService:GetTextSize() peut être utilisé pour obtenir la taille (la limite) du texte qui serait rendu dans un TextLabel donné une taille de police, une police et une taille de cadre.

Un objet UITextSizeConstraint peut être utilisé pour restreindre la taille du texte avec TextLabel.TextScaled activé. Il est recommandé que la taille du texte soit noire que 9, sinon il peut ne pas être visible pour la plupart des utilisateurs.

Échantillons de code

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)

Résumé

Propriétés

Propriétés hérités de GuiObjectPropriétés hérités de GuiBase2d

Méthodes

Méthodes hérités de GuiObject

Évènements

Évènements hérités de GuiObjectÉvènements hérités de GuiBase2d

Propriétés

ContentText

Lecture uniquement
Non répliqué
Lecture parallèle

Cette propriété fournit une copie de TextLabel.Text qui contient exactement ce qui est rendu par le TextLabel . Ceci est utile pour éliminer les balises de style utilisées pour le texte riche.

Exemple

Lorsque TextLabel.RichText est activé, la propriété TextLabel.ContentText montre le texte tel qu'il apparaît au joueur.


<tbody>
<tr>
<td>faux</td>
<td>\<b>Bonjour, monde !\</b></td>
<td>\<b>Bonjour, monde !\</b></td>
</tr>
<tr>
<td>vrai</td>
<td>\<b>Bonjour, monde !\</b></td>
<td>Bonjour, monde !</td>
</tr>
</tbody>
Riche en texteTexteTexte de contenu
Caché
Non répliqué
Lecture parallèle

La propriété police sélectionne l'une des polices prédéfinies avec lesquelles l'élément de l'interface utilisateur rendra son texte. Certaines polices ont des polices de caractère en majuscules ou en italique et/ou des polices de caractère légères (comme il n'y a pas de propriétés de poids de police ou de style de police).

Avec l'exception de la police "Légacy", chaque police rendra du texte avec la hauteur de ligne égale à la propriété TextLabel.TextSize. La police "Code" est la seule police monospace. Il a la propriété unique que chaque personnage a le même largeur et hauteur de 1:2. La largeur de chaque personnage est environ la moitié de la propriété TextLabel.TextSize.

Cette propriété est gardée en synchro avec la propriété TextLabel.FontFace. Lors du paramétrage de la police, la police sera définie sur Font.fromEnum(value).

Échantillons de code

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

Lecture parallèle

La propriété FontFace ressemble à la propriété Font, mais permet de définir des polices qui n'existent pas dans l'index des polices.

Cette propriété est gardée en synchronisation avec la propriété TextLabel.Font. Lors de la configuration de la police de caractère, la police est réglée sur la valeur d'ensemble correspondante, ou sur Enum.Font.Unknown si il n'y a pas de correspondance.

LineHeight

Lecture parallèle

Contrôle la hauteur des lignes, en plusieurs de la taille carrée de la police, en adaptant l'espace entre les lignes de texte dans le TextLabel. Les valeurs valides varient de 1.0 à 3.0, la valeur par défaut étant 1.0.

LocalizedText

Caché
Lecture uniquement
Non répliqué
Lecture parallèle

Cette propriété détermine si un TextLabel doit être GuiBase2d.Localize ou non.

MaxVisibleGraphemes

Lecture parallèle

Cette propriété contrôle le nombre max de graphèmes (ou unités de texte) qui sont affichés sur le TextLabel . Il est principalement fourni comme une façon facile de créer un « effet de type-écrivain » où les personnages apparaissent un à la fois.

Changer la propriété ne change pas la position ou la taille des graisses visibles - le layout sera calculé comme si toutes les graisses étaient visibles.

En définissant la propriété à -1, le limite est désactivé et l'entité du TextLabel.Text est affichée.

Échantillons de code

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

Lecture parallèle

OpenTypeFeaturesError

Lecture uniquement
Non répliqué
Lecture parallèle

RichText

Lecture parallèle

Cette propriété détermine si la TextLabel restaure la TextLabel.Text string en utilisant une formulation de texte riche. La formulation de texte utilise des balises de marquage simples pour styliser les sections du string en caractères soulignés, en couleurs spécifiques, en couleurs spécifiques et plus encore.

Pour utiliser le texte riche, incluez simplement des balises de mise en forme dans la TextLabel.Text chaîne.

Text

Lecture parallèle

La propriété texte détermine le contenu rendu par l'élément UI. Les propriétés visuelles de la chaîne rendue sur l'écran sont déterminées par Class.TextLabel.Text

Il est possible de rendre des emojis (par exemple, 😃) et d'autres symboles. Ces symboles spéciaux ne sont pas affectés par la propriété TextLabel.TextColor3. Ces derniers peuvent être collés dans Script et LocalScript objets, ainsi que dans la zone de texte dans la fenêtre propriétés.

Cette propriété peut contenir des caractères de nouvelle ligne, mais il n'est pas possible de taper des caractères de nouvelle ligne dans la fenêtre propriétés. De même, cette propriété peut contenir un caractère de rubrique, mais il sera rendu comme un espace à la place.

Échantillons de code

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

Lecture uniquement
Non répliqué
Lecture parallèle

La propriété Read-Only, TextBounds, reflète la taille de texte rendue en décalage. En d'autres termes, si vous essayiez de faire tenir le texte dans un rectangle, cette propriété reflète les dimensions minimum du rectangle que vous auriez besoin pour faire tenir le texte.

En utilisant TextService:GetTextSize() , vous pouvez prédire quelles seront les limites de texte sur un TextLabel donné par une chaîne, TextLabel.Font et la taille du cadre.

Échantillons de code

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

Lecture parallèle

Cette propriété détermine la couleur de tout le texte rendu par un élément GUI. Cette propriété, ainsi que TextLabel.Font , TextLabel.TextSize et 1> Class.TextLabel.Transparency1>, déterminera les propriétés visuelles du texte. Le texte est rendu

Il est important que le texte soit facilement lu par les joueurs ! Assurez-vous de choisir des couleurs avec une faible saturation, comme la blanche, le gris ou le noir. Assurez-vous que la couleur de votre texte est contrastée par le TextLabel.BackgroundColor3 de l'élément GUI. Si l'élément a un fond transparent, essayez d'appliquer un

Échantillons de code

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

Lecture parallèle

TextFits

Lecture uniquement
Non répliqué
Lecture parallèle

Le TextFits est une propriété de lecture unique qui est fausse si le contenu de TextLabel.Text ne rentre pas dans le GuiBase2d.AbsoluteSize lors de l'affichage. Si Class.TextLabel.Text

Échantillons de code

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

Lecture parallèle

Au lieu d'utiliser TextScaled, nous vous recommandons d'utiliser AutomaticSize, une nouvelle méthode pour dimensionner automatiquement l'interface utilisateur qui vous donnera le meilleur résultat visuel possible.

La propriété TextScaled détermine si le texte est échelonné afin qu'il occupe l'espace de l'ensemble de l'élément d'interface. Lorsque ceci est activé, TextLabel.TextSize est ignoré et TextLabel.TextWrapped est automatiquement activé. Cette propriété est utile pour les éléments de rendu du texte dans BillboardGuis

Lorsque cette propriété est utilisée pour l'interface utilisateur de l'espace d'écran, il peut être souhaitable d'utiliser un UITextSizeConstraint pour restreindre la portée des tailles de texte possibles.

TextScaled et AutomaticSize

Il est recommandé aux développeurs d'éviter l'utilisation de TextScaled et d'ajuster l'interface utilisateur pour profiter de la propriété AutoSize plutôt. Voici les principales différences entre les deux propriétés :

  • TextScaled met l'interface utilisateur (le texte) à l'échelle pour tenir compte de l'interface utilisateur. Sans une attention minutieuse, certains textes peuvent devenir introuvables si la taille est trop petite.
  • AutomaticSize redimensionne l'interface utilisateur pour tenir le contenu.

Avec AutomaticSize, vous pouvez ajuster votre interface utilisateur pour tenir le contenu (texte) tout en maintenant une taille de police cohérente. Pour plus d'informations sur l'utilisation de la taille d'automatisation, consultez l'article de taille d'automatisation de l'interface utilisateur.

Nous suggérons que vous ne appliquiez pas TextScaled et AutomaticSize sur le même objet d'interface. Si vous appliquez les deux propriétés :

  • AutomaticSize détermine la quantité maximale d'espace disponible que peut utiliser un GuiObject (dans ce cas, le texte)
  • TextScaled utilise l'espace disponible déterminé par AutomaticSize, pour ajuster la taille de police à l'espace disponible, ce qui s'étend jusqu'à la taille de police maximale (100), si il n'y a pas de contraintes de taille
  • La taille de sortie sera : le texte va à la taille de police 100 et l'objet UI s'étendra pour s'adapter à ce texte

L'utilisation de both AutomaticSize et TextScaled à la même time peut entraîner des différences de mise à l'échelle signifiantes que lorsque AutomaticSize est off.

Échantillons de code

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

Lecture parallèle

La propriété TextSize détermine la hauteur en décalage d'une ligne de texte rendue. L'unité est en décalage, non pas en points (ce qui est utilisé dans la plupart des programmes d'édition de documents). Il vaut la peine de noter que la hauteur de la police "Héritage" se comporte différemment et ne correspond pas exactement à cette propriété.

Cette propriété et TextLabel.TextColor3, TextLabel.TextTransparency, TextLabel.TextStrokeColor3 et 1> Class.TextLabel.TextStrokeTransparency1> chacune influence la façon dont le texte est rendu.

Cette propriété supéded TextLabel.FontSize puisqu'il s'agit d'un nombre et non d'un ensemble. Internement, Roblox utilise plusieurs ensembles de prévisualisation des images de personnages pour chaque taille de chaque police. Il choisit la taille la plus proche pour TextSize, puis met à l'échelle cette police d'image. Avant l'introduction de cette propriété, vous ne pouv

Échantillons de code

"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

Lecture parallèle

La couleur de la police de texte est définie par la propriété TextStrokeColor3. Cette propriété et TextLabel.TextStrokeTransparency déterminent les propriétés visuelles de la police de texte.

La couleur du texte est rendue avant le texte normal et est simplement 4 rendus du même texte dans +/- 1 pixel offsets dans chaque direction. La couleur du texte est rendue indépendamment et identiquement à TextLabel.TextColor3 et TextLabel.TextTransparency .

Échantillons de code

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

Lecture parallèle

La propriété TextStrokeTransparency détermine la transparence du stroke, ou de l'ours, du texte rendu. Cette propriété et TextLabel.TextStrokeColor3 détermine les propriétés visuelles du stroke.

La couleur du texte est rendue avant le texte normal et est simplement 4 rendus du même texte dans +/- 1 pixel offsets dans chaque direction. La couleur du texte est rendue indé

Échantillons de code

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

Lecture parallèle

La couleur de texte 3 détermine la transparence de tout le texte rendu par un élément UI. Cette couleur, junto avec TextLabel.Font, TextLabel.TextSize et TextLabel.TextColor3, déterminera les propriétés visuelles du texte. Le texte est rendu après le traitement du texte ( 1> Class.TextLabel.

Fading text in using a numeric for-loop is a fantastic way to draw a joueur's attention to text appearing on screen.


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

Échantillons de code

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

Lecture parallèle

Contrôle la coupure du texte affiché dans ce TextLabel.

TextWrapped

Lecture parallèle

Lorsqu'elle est activée, cette propriété rendra le texte sur plusieurs lignes dans l'espace d'un élément GUI afin que TextLabel.TextBounds ne dépassent jamais la limite GuiBase2d.AbsoluteSize de l'élément de l'interface.

Ceci est obtenu en brisant de longues lignes de texte en plusieurs lignes. Les interruptions de ligne préfèrent l'espace blanc ; si une longue mot ininterrompu dépasse la largeur de l'élément, ce mot sera brisé en plusieurs lignes.

Si des interruptions de ligne supplémentaires entraînaient la hauteur verticale du texte (la composante Y de TextLabel.TextBounds), la hauteur verticale de l'élément (la composante Y de GuiBase2d.AbsoluteSize), alors cette ligne ne serait pas rendue du tout.

Échantillons de code

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

Lecture parallèle

TextXAlignment détermine l'alignement horizontal (X-axe) du texte rendu dans l'espace d'un élément d'interface utilisateur. Il fonctionne de la même façon que la propriété de texte d'alignement à gauche, à droite et au centre (il n'y a pas d'option d'alignement). Pour gauche et pour droite, le texte est rendu afin que les limites de texte gauche/droite touchent le bord de l'espace de l'élément. Pour le centre, chaque ligne de texte est centrée

Cette propriété est utilisée conjointement avec TextLabel.TextYAlignment pour déterminer entièrement l'alignement du texte sur les deux axes. Cette propriété n'affectera pas les propriétés de lecture TextLabel.TextBounds et TextLabel.TextFits.

Échantillons de code

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

Lecture parallèle

TextYAlignment détermine l'alignement vertical (Y-axe) du texte rendu dans l'espace d'un élément UI. Pour les hauts et les bas, le texte est rendu afin que les limites de texte supérieures/inférieures touchent l'边 de l'espace de l'élément. Pour les centres, le texte est rendu afin qu'il y ait un espace équilibré des limites de texte supérieures/inférieures à l'边 de l'élément et des limites de texte inférieures/égales à

Cette propriété est utilisée conjointement avec TextLabel.TextXAlignment pour déterminer entièrement l'alignement du texte sur les deux axes. Cette propriété n'affectera pas les propriétés de lecture TextLabel.TextBounds et TextLabel.TextFits.

Échantillons de code

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

Évènements