TextLabel

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Sebuah TextLabel menyajikan persegi, seperti Frame , dengan teks bergaya. Persegi dapat digunakan untuk mendefinisikan batas teks, skalierung teks ( TextLabel.TextScaled ) dan wrapping ( TextLabel.TextWrapped , 1> Class.

Kelas ini mengandung propperti yang mengontrol tampilan teks, seperti TextLabel.Font dan TextLabel.TextColor3 . Semua teks yang di rendering oleh satu label teks akan memiliki propperti visual yang sama; beberapa objek TextLabel harus di gunakan untuk menyajikan beberapa gaya teks. U

TextService:GetTextSize() dapat digunakan untuk mendapatkan ukuran (bound) teks yang akan di render dalam TextLabel yang diberikan ukuran huruf, font, dan ukuran frame.

Sebuah objek UITextSizeConstraint dapat digunakan untuk mengekskonstraksi ukuran teks dengan TextLabel.TextScaled yang aktif. Diperbaiki bahwa ukuran teks tidak boleh kurang dari 9, jika tidak maka ukuran teks mungkin tidak terlihat bagi kebanyakan pengguna.

Contoh Kode

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)

Rangkuman

Properti

Properti diwarisi dari GuiObjectProperti diwarisi dari GuiBase2d

Metode

Metode diwarisi dari GuiObject

Acara

Acara diwarisi dari GuiObjectAcara diwarisi dari GuiBase2d

Properti

ContentText

Hanya Baca
Tidak Direplikasi
Baca Paralel

Properti ini menyediakan salinan dari TextLabel.Text yang berisi persis apa yang di render oleh TextLabel . Ini berguna untuk menghapus tag gaya yang digunakan untuk teks kaya.

Contoh

Ketika TextLabel.RichText diaktifkan, properti TextLabel.ContentText menunjukkan teks seperti yang tampak kepada pemain.


<tbody>
<tr>
<td>benar</td>
<td>\<b>Halo, dunia!\</b></td>
<td>\<b>Halo, dunia!\</b></td>
</tr>
<tr>
<td>benar</td>
<td>\<b>Halo, dunia!\</b></td>
<td>Halo, dunia!</td>
</tr>
</tbody>
Teks KayaTeksTeks Konten
Tersembunyi
Tidak Direplikasi
Baca Paralel

PropietasFont menentukan salah satu dari beberapa huruf prasetel dengan huruf prasetel yang akan ditampilkan oleh item UI. Beberapa huruf memiliki huruf besar, italik dan/atau varian cahaya (karena tidak ada propietas font atau gaya huruf).

Dengan pengecualian font "Legacy", setiap font akan menyajikan teks dengan tinggi baris yang sama dengan propinsi TextLabel.TextSize. Font "Kode" adalah font monospace tunggal. Ini memiliki propinsi yang unik bahwa setiap karakter memiliki persentase lebar dan tinggi yang sama dari 1:2. Lebar setiap karakter adalah

Properti ini dipertahankan dalam sinkronisasi dengan properti TextLabel.FontFace. Saat menetapkanFont,FontFace akan diatur menjadi Font.fromEnum(value) .

Contoh Kode

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

Baca Paralel

Propiedad FontFace mirip dengan propiedad Font, tetapi memungkinkan pengaturan huruf yang tidak ada dalam daftarFont.

Properti ini di-sync dengan properti TextLabel.Font. Saat menetapkan FontFace,Font ditetapkan ke nilai枚值 yang sesuai, atau ke Enum.Font.Unknown jika tidak ada pertandingan.

LineHeight

Baca Paralel

Mengontrol tinggi baris, sebagai beberapa dari ukuran huruf, dengan menyesuaikan jarak antar baris teks di TextLabel .Nilai valid berkisar dari 1,0 hingga 3,0, berdasarkan default menjadi 1,0.

LocalizedText

Tersembunyi
Hanya Baca
Tidak Direplikasi
Baca Paralel

Item ini menetapkan apakah TextLabel harus menjadi GuiBase2d.Localize atau tidak.

MaxVisibleGraphemes

Baca Paralel

Eigenschaft ini mengontrol jumlah maksimum grafem (atau unit teks) yang ditunjukkan di TextLabel. Ini terutama diberikan sebagai cara mudah untuk membuat "efek ketik" di mana karakter muncul satu per satu.

Mengubah propinsi tidak mengubah posisi atau ukuran grafem yang terlihat - layout akan dihitung seolah-olah semua grafem terlihat.

Mengatur property ke -1 menonaktifkan batas dan menunjukkan seluruh TextLabel.Text .

Contoh Kode

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

Baca Paralel

OpenTypeFeaturesError

Hanya Baca
Tidak Direplikasi
Baca Paralel

RichText

Baca Paralel

Properti ini menentukan apakah TextLabel menyajikan string TextLabel.Text dengan pengaturan teks yang kaya. Teks berbasis pengaturan menggunakan tag markup sederhana untuk menyebarkan bagian teks dalam huruf besar, huruf tebal, warna spesifik, dan banyak lagi.

Untuk menggunakan teks berwarna, cukup masukkan tag pembentukan huruf di dalam TextLabel.Text string.

Text

Baca Paralel

Propietas Teks menentukan konten yang di render oleh elemen UI. Propietas visual dari string yang di render ke layar di determinasi oleh Class.TextLabel.TextColor3

Mungkin untuk menyajikan emoji (misalnya, 😃) dan simbol lainnya. Simbol khusus ini tidak terpengaruh oleh TextLabel.TextColor3 property. Ini dapat ditempelkan ke dalam Script dan LocalScript objek, serta di bagian 2> property window2>.

Properti ini dapat berisi karakter baris baru, namun, tidak mungkin untuk mengetik karakter baris baru di jendela Propinsi. Demikian pula, property ini dapat berisi karakter tab, tetapi akan rendah sebagai ruang kosong.

Contoh Kode

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

Hanya Baca
Tidak Direplikasi
Baca Paralel

Propiedad baca-hanya TextBounds mencerminkan ukuran teks yang dihasilkan dalamOffset. Dengan kata lain, jika Anda mencoba untuk menyesuaikan teks ke dalam Rectangle, propiedad ini akan mencerminkan dimensi minimum Rectangle yang Anda butuhkan untuk menyesuaikan teks.

Menggunakan TextService:GetTextSize() , Anda dapat memprediksi apa TextBounds akan berada di TextLabel yang diberikan string, TextLabel.Font , dan ukuran frame.

Contoh Kode

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

Baca Paralel

Elemen GUI ini menentukan warna dari semua teks yang di render oleh elemen TextLabel.Font , TextLabel.TextSize dan 1> Class.TextLabel.Transparency1> . Elemen ini bersama dengan 4> Class.TextLabel.

Sangat penting agar teks mudah dibaca oleh pemain! Pastikan untuk memilih warna dengan sedikit-tidak ada saturasi, seperti putih, abu-abu, atau hitam. Pastikan warna teks Anda kontras dengan warna TextLabel.BackgroundColor3 dari elemen GUI. Jika elemen memiliki latar belakang transparan,

Contoh Kode

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

Baca Paralel

TextFits

Hanya Baca
Tidak Direplikasi
Baca Paralel

TextFits adalah property baca-hanya yang benar jika TextLabel.Text konten tidak cocok dalam GuiBase2d.AbsoluteSize ketika di render. Jika Class.TextLabel.TextWr

Contoh Kode

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

Baca Paralel

Alih-alih menggunakan TextScaled, kami merekomendasikan Anda menggunakan AutomaticSize, metode baru untuk menyesuaikan UI secara dinamis yang akan memberi Anda hasil visual terbaik.

Propiedad TextScaled menentukan apakah teks diubah sehingga mengisi seluruh ruang UI. Saat ini, TextLabel.TextSize diabaikan dan TextLabel.TextWrapped diaktifkan secara otomatis. Propiedad ini berguna untuk menyederkan UI elemen dalam BillboardGuis .

Ketika elemen ini digunakan untuk UI ruang layar, dapat diinginkan untuk menggunakan UITextSizeConstraint untuk mengebat ruang teks yang mungkin.

TextScaled dan AutomaticSize

Direkomendasikan agar pengembang menghindari penggunaan TextScaled dan menyesuaikan UI untuk mengambil keuntungan dari property AutomaticSize. Berikut adalah perbedaan utama antara kedua property ini:

  • TextScaled menyesuaikan konten (teks) untuk menampung UI. Tanpa pertimbangan yang cermat, beberapa teks mungkin menjadi tidak terbaca jika diubah terlalu kecil.
  • AutomaticSize mengubah ukuran UI untuk menampungkan konten.

Dengan AutomaticSize, Anda dapat menyesuaikan UI Anda untuk menampilkan konten (teks) sambil menjaga ukuran huruf yang konsisten. Untuk informasi lebih lanjut tentang cara menggunakan ukuran huruf otomatis, lihat artikel UI Otomatis.

Kami menyarankan agar Anda tidak menerapkan kedua TextScaled dan AutomaticSize pada objek UI yang sama. Jika Anda menerapkan kedua属性 ini:

  • Ukuran Otomatis menentukan jumlah maksimum ruang yang tersedia yang dapat digunakan oleh GuiObject (dalam kasus ini, teks)
  • TextScaled menggunakan ruang yang tersedia ditentukan oleh AutomaticSize, untuk menyesuaikan ukuran huruf agar sesuai dengan ruang yang tersedia, yang akan diperluas hingga ukuran huruf maksimum (100), jika tidak ada batas ukuran
  • Hasil akhir akan menjadi: teks menyertakan 100 ukuran huruf dan objek UI akan diperluas untuk menyesuaikan teks tersebut

Menggunakan kedua Ukuran Otomatis dan TextScaled pada saat yang sama dapat menyebabkan perbedaan skalierung yang signifikan daripada ketika Ukuran Otomatis dinonaktifkan.

Contoh Kode

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

Baca Paralel

Propinsi TextSize menentukan tinggi dalamOffset dari satu baris teks yang di render. Unit ini dalamOffset, bukan poin (yang digunakan dalam kebanyakan program pengeditan dokumen). Patut dicatat bahwa tinggi huruf "Legacy" berperilaku berbeda, dan tidak akan mencocokkan propinsi ini dengan benar.

Properti ini dan TextLabel.TextColor3 , TextLabel.TextTransparency , TextLabel.TextStrokeColor3 dan 1> Class.TextLabel.TextStrokeTransparency1> masing-masing mempengaruhi cara teks di render.

Properti ini mengatasi TextLabel.FontSize karena itu adalah angka dan bukan daftar. Secara internal, Roblox menggunakan beberapa set gambar karakter pra-rendering untuk setiap ukuran setiap font. Itu memilih ukuran terdekat untuk TextSize, lalu menyesuaikan set gambar karakter itu untuk menyajikan

Contoh Kode

"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

Baca Paralel

Propiedad TextStrokeColor3 menetapkan warna stroke, atau kontur, dari teks yang di render. Propiedad ini dan TextLabel.TextStrokeTransparency menentukan propinsi visual dari stroke teks.

Teks terkirim sebelum teks normal dan hanya 4 render dari teks yang sama dalam +/- 1 pixelOffsets dalam setiap arah. Teks terkirim bekerja secara independen dan sama seperti TextLabel.TextColor3 dan TextLabel.TextTransparency .

Contoh Kode

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

Baca Paralel

Propinsi TextStrokeTransparency menetapkan transparansi stroke, atau kontur, dari teks yang di render. Propinsi ini dan TextLabel.TextStrokeColor3 menentukan propinsi visual dari stroke teks.

Teks tercetak di render sebelum teks normal dan hanya 4 render dari teks yang sama dalam +/- 1 pixel offsets dalam setiap arah. Teks tercet

Contoh Kode

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

Baca Paralel

Propiedad TextColor3 menentukan transparansi semua teks yang di render oleh elemen UI. Propiedad ini bersama dengan TextLabel.Font , TextLabel.TextSize dan TextLabel.TextColor3 akan menentukan proporsi visual teks. Teks di render setelah garis besar ( 1> Class.TextLabel

Menghilangkan teks dalam menggunakan for-loop numerik adalah cara yang fantastis untuk menarik perhatian pemain ke teks yang muncul di layar.


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

Contoh Kode

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

Baca Paralel

Mengontrol pemotongan teks yang ditampilkan di TextLabel ini.

TextWrapped

Baca Paralel

Ketika diaktifkan, property ini akan menampilkan teks di beberapa baris dalam ruang <a href="/reference/engine/databases">Class.TextLabel|Gui</a> elemen sehingga <a href="/reference/engine/databases">Class.TextLabel.TextSeconds</a> tidak akan pernah melebihi <a href="/reference/engine/databases">Class.GuiBase2d.AbsoluteSize</a> dari elemen UI.

Ini dicapai dengan memecahkan baris panjang teks menjadi beberapa baris. Pemecahan garis putus akan mem preferensikan ruang putih; jika kata panjang yang tidak dipecahkan melebihi lebar elemen, kata itu akan dibagi menjadi beberapa baris.

Jika penghancuran baris lainnya menyebabkan ketinggian vertikal teks (komponen Y dari TextLabel.TextBounds ) untuk melebihi ketinggian vertikal elemen (komponen Y dari GuiBase2d.AbsoluteSize), maka baris itu tidak akan rendah sama semua.

Contoh Kode

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

Baca Paralel

TextXAlignment menentukan alineasi vertikal (X-axis) teks yang di render dalam ruang UI. Fungsionerannya sama dengan property teks alineasi kiri, kanan dan pusat (tidak ada opsi justifikasi). Untuk Left dan Right, teks di render sehingga batas teks kiri/kanan hanya menyentuh sudut UI. Untuk Center, setiap baris teks diatur di pusat UI element.

Elemen ini digunakan bersama dengan TextLabel.TextYAlignment untuk sepenuhnya menentukan alineasi teks di kedua sumbu. Elemen ini tidak akan mengubah elemen baca hanya TextLabel.TextBounds dan TextLabel.TextFits .

Contoh Kode

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

Baca Paralel

TextYAlignment menentukan alineasi vertikal (Y-axis) teks yang rendah dalam ruang UI. Untuk Top dan Bottom, teks di render sehingga batas-batas teks atas/bawah hanya menyentuh sudut UI. Untuk Center, teks di render sehingga ada ruang yang sama dari batas atas/bawah teks ke atas ruang elemen dan batas bawah teks ke bawah ruang elemen.

Elemen ini digunakan bersama dengan TextLabel.TextXAlignment untuk sepenuhnya menentukan alineasi teks di kedua sumbu. Elemen ini tidak akan mengubah elemen baca hanya TextLabel.TextBounds dan TextLabel.TextFits .

Contoh Kode

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

Metode

Acara