TextLabel

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

A TextLabel bir kutu şekilli, Frame gibi, stilli yazıyla gösterir. Kutu, yazı yüklemesini, yazı ölçeğini ( TextLabel.TextScaled ) ve sarma ( TextLabel.TextWrapped , 1> Class.

Bu sınıf, metni görüntüsünü kontrol eden özellikleri içerir, örneğin TextLabel.Font ve TextLabel.TextColor3 . Tek bir metin etiketi tarafından oluşturulan tüm metinler aynı görsel özelliklere sahip olacaktır; çok say

TextService:GetTextSize(), bir font büyüklüğü, font ve kare büyüklüğü verilen bir metin etiketinde görüntülenen metni alabilirsiniz.

Bir UITextSizeConstraint nesnesi, TextLabel.TextScaled etkinleştirilmiş olarak kullanılarak metni sınırlayabilir. Tekst büyüklüğünün 8 'den daha düşük olması önerilir, aksi takdirde çoğu kullanıcı tarafından görünmez olabilir.

Kod Örnekleri

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)

Özet

Özellikler

Şuradan alınan Özellikler: GuiObjectŞuradan alınan Özellikler: GuiBase2d

Yöntemler

Şuradan alınan Yöntemler: GuiObject

Etkinlikler

Şuradan alınan Etkinlikler: GuiObjectŞuradan alınan Etkinlikler: GuiBase2d

Özellikler

ContentText

Salt Okunur
Çoğaltılmamış
Paralel oku

Bu özellik, TextLabel.Text ın kopyasını sağlar, ki şu anda TextLabel tarafından renderlenen şeyi içerir. Bu, zengin metni için kullanılan tarz etiketlerini ortadan kaldırmak için yararlıdır.

Örnek

Class.TextLabel.RichText etkinleştirildiğinde, TextLabel.ContentText özelliği oyuncuya göründüğü gibi yazıyı gösterir.


<tbody>
<tr>
<td>yanlış</td>
<td>\<b>Merhaba, dünya!\</b></td>
<td>\<b>Merhaba, dünya!\</b></td>
</tr>
<tr>
<td>doğru</td>
<td>\<b>Merhaba, dünya!\</b></td>
<td>Merhaba, dünya!</td>
</tr>
</tbody>
ZenginMetinMetinİçerikMetni
Gizli
Çoğaltılmamış
Paralel oku

Font özelliği, UI öğesi'nin metnini render etmesi için birkaç önceden belirlenmiş font ile seçilir. Bazı fontların solak, altılı veya hafif versiyonları vardır (font ağırlığı veya font stilı olmayan).

“Geriye miras” fontu dışında, her font aynı satır yüksekliğiyle metni gösterir. “Kod” fontu tek monospace font’tur. Bu, her karakterin aynı genişliğe ve yüksekliğe oranına sahip olduğu benzersiz özellik vardır. Her karakterin genişliği yaklaşık olarak Class.

Bu özellik, TextLabel.FontFace özelliğiyle senkronize edilir. Özellik,Font'ı ayarlarken,Font'ın Font.fromEnum(value) olarak ayarlanacaktır.

Kod Örnekleri

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

Paralel oku

FontFace özelliği,Font özelliğine benzer, ancakFont枚'de mevcut olmayan fontları ayarlamayı sağlar.

Bu özellik, TextLabel.Font özelliğiyle senkronize edilir. FontFace'i ayarlarken, font Enum.Font.Unknown değeriyle veya Ennum.Font olarak ayarlanır. Eğer eşleştirme yoksa, bu özellik 1>Class.TextLabel.Font1> değerine ayarlanır.

LineHeight

Paralel oku

Çizgilerin yüksekliğini, fontun kare büyüklüğünün çarpanı olarak kontrol eder, aralarındaki boşlukların yüksekliğini artırır. Geçerli değerler 1.0 ile 3.0 arasındadır, varsayılan 1.0'dır.

LocalizedText

Gizli
Salt Okunur
Çoğaltılmamış
Paralel oku

Bu özellik, bir TextLabel'in GuiBase2d.Localize olması gerektiğini veya olmadığını ayarlar.

MaxVisibleGraphemes

Paralel oku

Bu özellik, TextLabel 'de gösterilen maksimum grafem sayısını (veya metin birimi) kontrol eder. Bu, karakterlerin bir atışta birisi görünmesini kolay bir şekilde yapmak için sağlanır.

Özellik, görünür grafiklerin pozisyonunu veya boyutunu değiştirmez - tasarım tüm grafiklerin görünür olması gibi hesaplanacaktır.

Özelliği -1 olarak ayarlamak sınırı devre dışı bırakır ve tüm TextLabel.Text 'i gösterir.

Kod Örnekleri

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

Paralel oku

OpenTypeFeaturesError

Salt Okunur
Çoğaltılmamış
Paralel oku

RichText

Paralel oku

Bu özellik, TextLabel 'in zengin metin biçimi kullanarak TextLabel.Text stringini gösterip göstermediğini belirler. Zengin metin, basit metin etiketlerini kullanarak kaydırma seçeneklerini vurgulayır.

Zengin metni kullanmak için, sadece şekillendirme etiketlerini TextLabel.Text ipucuna ekleyin.

Text

Paralel oku

Metin öğesi, UI öğesi tarafından görüntülenen içeriği belirler. Görsel öğeleri, rendelenen metin görüntüsüne <

Emojileri (örneğin, 😃) ve diğer sembolleri renderebilirsiniz. Bu özel semboller TextLabel.TextColor3 özelliğine etkilenmez. Bunlar Script ve LocalScript nesnelerine, ayrıca Özellikler penceresindeki alana yapıştırılabilir.

Bu özellik yeni satır karakterleri içerebilir, ancak Özellikler penceresinde yeni satır karakterleri yazmak mümkün değildir. Aynı şekilde, bu özellik bir tab karakteri içerebilir, ancak yerine boşluk olarak görüntülenir.

Kod Örnekleri

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

Salt Okunur
Çoğaltılmamış
Paralel oku

Yalnızca okuma sırasında yerleştirme işlemi yapılan özellik Yazı Bölgeleri, çizgi olarak görüntülenen metni yüzdesel olarak yerleştirme işlemi yapar. Diğer bir deyişle, eğer metni yüzüne uymak için çizgi olarak görüntüleniyorsa, bu özellik Yazı Bölgeleri’ni yerleştirme işlemi yapar.

Class.TextService:GetTextSize() kullanarak, bir TextLabel'a verilen bir dizikullanarak TextBounds'ın ne olacağını öngörebilirsiniz, TextLabel.Font , TextLabel.TextSize ve çerçeve boyutu.

Kod Örnekleri

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

Paralel oku

Bu özellik, bir GUI öğesi tarafından tüm yazının renklenmesini belirler. Bu özellik, TextLabel.Font , TextLabel.TextSize ve 1> Class.TextLabel.Transparency1> ile birlik

Metni oyuncular tarafından kolayca okunabilir hale getirmek önemlidir! Renkleri TextLabel.BackgroundColor3 ile GUI öğesi arasındaki kontrastı sağlayın. Eğer öğenin bir arka planı varsa, renkleri ön plana uygulayın. Eğer öğenin arka planın

Kod Örnekleri

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

Paralel oku

TextFits

Salt Okunur
Çoğaltılmamış
Paralel oku

TextFits, TextLabel.Text içeriğinin GuiBase2d.AbsoluteSize içinde uymadığını gösterdiğinde doğru ifade edilmiştir. Eğer

Kod Örnekleri

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

Paralel oku

TextScaled'i kullanmayı tercih etmeyin, bunun yerine AutomaticSize , mümkün olduğunca iyi bir görsel sonucu veren yeni bir yöntemi dynamik olarak kullanmayı öneririz.

TextScaled öğesi, metni tüm UI öğesi alanını doldurmak için çekirdek boyutlandırılır olup olmadığını belirler. Bu aktifleştirildiğinde, TextLabel.TextSize ignoran olur ve TextLabel.TextWrapped otomatik olarak aktif edilir. Bu öğür, Class.ToolbarGui|Billboard

Ekran alanı UI için bu özellik kullanıldığında, mümkün olan tüm metin boyutlarını sınırlamak için bir UITextSizeConstraint kullanmak isteyebilir.

TextScaled ve AutomaticSize

Geliştiriciler TextScaled'i kullanmayı denememelidir ve aksine AutomaticSize özelliğinden yararlanmalıdır. İki özelliğin ana farkları şunların arasındadır:

  • TextScaled, UI'yi yerleştirmek için içeriği (metni) ölçeği ayarlar. Dikkatli bir şekilde, bazı metinler yanlış okunabilir ifade ölçeği çok küçük skalanır.
  • AutoSize, içeriği yerleştirmek için UI'yi yeniden boyutlandırır.

AutomaticSize ile, UI'nizi düzenleme boyutunu (yazı) içeriğiyle bir arada tutarken ayarlayabilirsiniz. Ayrıca, otomatik boyutlandırma kullanımı hakkında daha fazla bilgi için UI Otomatik Boyutlu Boyutlu makalesine bakın.

Her iki TextScaled ve AutomaticSize'ı aynı UI öğesi için uygulamayınızı öneririz. Eğer her iki özelliği de uygularsanız:

  • AutoSize, bir GuiObject 'in kullanabileceği maksimum alanı belirler (burada, metni)
  • TextScaled, AutomaticSize tarafından belirlenen mevcut alanı kullanarak, mevcut alanın boyutuna uygun olarak font büyüklüğünü artırır, böylece maksimum font büyüklüğü (100) olursa, boyut sınırları yoksa
  • Sonuç: yazı 100 karakter boyutuna gidecek ve UI öğesi bu yazıya uyacak şekilde genişleyecektir

AutomaticSize ve TextScaled'i aynı anda kullanmak, otomatik büyüklük ve yazı ölçeği kapalı olduğunda önemli ölçekleme farklarına yol açabilir.

Kod Örnekleri

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

Paralel oku

TextSize öğesi, çizimdeki tekst yazısının yüksekliğini belirler. Birim yükseklikte, nokta değil (çoğu belge düzenleme programında kullanılan). "Miras" fontunun satır yüksekliği farklıdır, ve bu özellik doğru olarak eşleşmez.

Bu özellik ve TextLabel.TextColor3 , TextLabel.TextTransparency , TextLabel.TextStrokeColor3 ve 1> Class.TextLabel.TextStrokeTransparency1> herhangi bir etkiyi yazıtipi nasıl görüntüleyeceğini etkiler.

Bu özellik, TextLabel.FontSize çünkü bir sayı ve bir liste değil. İçerik sağlayıcı, her bir font boyutu için birkaç set önceden oluşturulmuş karakter görüntüsü seçer. Roblox, önceden oluşturulmuş karakter görüntüler

Kod Örnekleri

"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

Paralel oku

TextStrokeColor3 öğesi, çizilen metnin renk veya hatlı çizgisini belirler. Bu öğe ve TextLabel.TextStrokeTransparency çizgi çizimi özelliklerini belirler.

Metin çizgisi normal metinten önce görülür ve sadece +/- 1 piksel ofsetindeki aynı metni 4 kat rendeleme ile çizilir. Text çizgisi rendeleme bağımsız ve aynı şekilde çalışır TextLabel.TextColor3 ve TextLabel.TextTransparency .

Kod Örnekleri

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

Paralel oku

TextStrokeTransparency öğesi, çizilen metnin çizgisini veya hatlısının şeffaflığını ayarlar. Bu öğe ve TextLabel.TextStrokeColor3 çizgi çizimlerinin görsel özelliklerini belirler.

Metin çizgisi normal metin ile aynıdır ve herhangi bir yönü +/- 1 piksel ödüllerinde 4 tane olarak gösteril

Kod Örnekleri

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

Paralel oku

TextColor3 öğesi, bir UI öğesi tarafından oluşturulan tüm yazının görünürlüğünü belirler. Bu öğe, TextLabel.Font , TextLabel.TextSize ve TextLabel.TextColor3 ile birlikte, yazının görünürlüğ

Bir sayısal for-Loop kullanarak kaydırılan metni oyuncunun ekranda görünen metne çekmek harika bir yoldur.


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

Kod Örnekleri

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

Paralel oku

Bu TextLabel'da görüntülenen metni kısaltır.

TextWrapped

Paralel oku

Etkinleştirildiğinde, bu özellik GUI elemanının alanındaki birkaç satır içinde metni gösterir, böylece TextLabel.TextBounds hiç UI elemanının GuiBase2d.AbsoluteSize 'ının üstesinden gelmez.

Bu, uzun metni birden fazla satıra ayırarak elde edilir. Satır kırma beyaz boşluk tercih eder; uzun bozulmamış bir kelime öğenin genişliğini aşarsa, kelime birden fazla satıra ayılır.

Eğer daha fazla satır bozulması metni (TextLabel.TextBounds )'nin yatay yüksekliğini aşarsa, o satır hiç tümü.

Kod Örnekleri

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

Paralel oku

TextXAlignment, UI öğesi alanındaki yazının yerini belirler (X ekseninde). Sol, sağ ve merkez değerleriyle (justify seçeneği yok). Sol ve sağ için, yazının sol/sağ kısmı UI öğesi kutusunun kenarına dokunur. Merkez için her bir satırınızın merkezine sağ/sola.

Bu özellik, TextLabel.TextYAlignment ile birleştirilmiş olarak kullanılır, böylece iki eksende de aynı özelliklerin okunabilirliğini tam olarak belirleyebilir. Bu özellik okuma sadece özelliklerini etkilemez TextLabel.TextBounds ve TextLabel.TextFits .

Kod Örnekleri

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

Paralel oku

TextYAlignment, bir UI öğesi alanındaki yazının yerini belirler (Y ekseninde). Tepme veya solma için yazının üst veya alt kısımlarının kenarına dokunur. Merkez için, yazının üst kısmının üst kısmına eşit bir alan vardır. Tüm elementlerin üst kısmının üst kısmına dokunur

Bu özellik, TextLabel.TextXAlignment ile birleştirilmiş olarak kullanılır, böylece iki eksende de aynı özelliklerin okunabilirliğini tam olarak belirleyebilir. Bu özellik okuma sadece özelliklerini etkilemez TextLabel.TextBounds ve TextLabel.TextFits .

Kod Örnekleri

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

Yöntemler

Etkinlikler