TextButton

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 TextButton bersikap mirip dengan TextLabel dalam hal render dengan perilaku tambahan dari GuiButton . Ini mendefinisikan prop-rendering teks sama seperti yang dilakukan TextLabel .

Anda dapat menonaktifkan render teks dengan menetapkan TextButton.TextTransparency ke 1. Ini akan meninggalkan Anda dengan rezektor yang sederhana yang dapat digunakan sebagai tombol.

Contoh Kode

Click Counter

-- Place this code in a LocalScript in a TextButton
local textButton = script.Parent
local counter = 0
textButton.Text = "Click me!"
local function onActivated()
counter = counter + 1
textButton.Text = "Clicks: " .. counter
end
textButton.Activated:Connect(onActivated)

Rangkuman

Properti

Properti diwarisi dari GuiButton
  • Baca Paralel

    Menentukan apakah tombol secara otomatis berubah warna saat mouse mengambilnya atau mengkliknya.

  • Baca Paralel

    Jika benar saat elemen GUI terlihat, mouse tidak akan terkunci kecuali tombol mouse yang benar adalah turun.

  • Baca Paralel

    Propinsi booleh yang menunjukkan apakah objek telah dipilih.

  • Tetapkan gaya GuiButton berdasarkan daftar gaya pra-determinasi.

Properti diwarisi dari GuiObjectProperti diwarisi dari GuiBase2d

Metode

Metode diwarisi dari GuiObject

Acara

Acara diwarisi dari GuiButtonAcara diwarisi dari GuiObjectAcara diwarisi dari GuiBase2d

Properti

ContentText

Hanya Baca
Tidak Direplikasi
Baca Paralel

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

Contoh

Ketika TextButton.RichText diaktifkan, properti TextButton.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 TextButton.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 TextButton.FontFace. Saat menetapkanFont,FontFace ditetapkan ke 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 TextButton.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 TextButton .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 TextButton harus menjadi GuiBase2d.Localize atau tidak.

MaxVisibleGraphemes

Baca Paralel

Elemen ini mengontrol jumlah maksimum grafem (atau unit teks) yang ditunjukkan di TextButton . Ini paling sering disediakan 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 TextButton.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 TextButton menyajikan string TextButton.Text menggunakan format teks yang kaya. Text rich menggunakan tag markup sederhana untuk menyebutkan bagian string dalam huruf besar, huruf tebal, warna spesifik, dan banyak lagi.

Untuk menggunakan teks berwarna, cukup masukkan tag pembentukan huruf di dalam TextButton.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.TextButton.TextColor3

Mungkin untuk menyajikan emoji (misalnya, 😃) dan simbol lainnya. Simbol khusus ini tidak terpengaruh oleh TextButton.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, TextButton.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 ini menentukan warna dari semua teks yang di render oleh elemen GUI ini. Elemen ini bersama dengan TextButton.Font , TextButton.TextSize dan 2>Class.TextButton.Transparency2> akan menentukan propeti visual teks

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 TextButton.BackgroundColor3 dari elemen UI. Jika elemen memiliki latar belakang transparan, coba

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

Representasi booleh apakah teks TextButton sesuai dengan ukurannya.

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, TextButton.TextSize diabaikan dan TextButton.TextWrapped diaktifkan secara otomatis. Propiedad ini berguna untuk menyempurnakan UI rendah 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 ketinggian dalamOffset dari satu baris teks yang dibuat. Unit adalah dalamOffset, bukan poin (yang digunakan dalam kebanyakan program pengeditan dokumen). "Legacy" font tidak menyimpan propinsi ini.

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 TextButton.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 TextButton.TextColor3 dan TextButton.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 TextButton.TextStrokeColor3 menentukan propinsi propinsi visual 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 TextButton.Font , TextButton.TextSize dan TextButton.TextColor3 akan menentukan proporsi visual teks. Teks di render setelah garis besar ( 1> Class.TextButton

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 Tombol Teks ini.

TextWrapped

Baca Paralel

Ketika diaktifkan, properti ini akan menampilkan teks di beberapa baris dalam ruang <a href="/reference/engine/databases">Class.TextButton|Gui</a> sehingga <a href="/reference/engine/databases">Class.TextButton.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 TextButton.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 TextButton.TextYAlignment untuk sepenuhnya menentukan alineasi teks di kedua sumbu. Elemen ini tidak akan mengubah elemen baca hanya TextButton.TextBounds dan TextButton.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 TextButton.TextXAlignment untuk sepenuhnya menentukan alineasi teks di kedua sumbu. Elemen ini tidak akan mengubah elemen baca hanya TextButton.TextBounds dan TextButton.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