Motor Sınıfı
TextLabel
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Özet
Özellikler
Kod Örnekleri
Oyun Durumu Metni
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- ReplicatedStorage içinde "GameState" adında bir StringValue yerleştirin
local vGameState = ReplicatedStorage:WaitForChild("GameState")
-- Bu kodu bir TextLabel'a yerleştirin
local textLabel = script.Parent
-- TextColor3 ile kullanacağımız bazı renkler
local colorNormal = Color3.new(0, 0, 0) -- siyah
local colorCountdown = Color3.new(1, 0.5, 0) -- turuncu
local colorRound = Color3.new(0.25, 0.25, 1) -- mavi
-- Oyun durumunun
-- değiştikçe TextLabel'ı güncellemek için bu fonksiyonu çalıştıracağız.
local function update()
-- Metni güncelle
textLabel.Text = "Durum: " .. vGameState.Value
-- Mevcut oyun durumuna göre metnin rengini ayarlayın
if vGameState.Value == "Countdown" then
textLabel.TextColor3 = colorCountdown
elseif vGameState.Value == "Round" then
textLabel.TextColor3 = colorRound
else
textLabel.TextColor3 = colorNormal
end
end
-- Şablon: başladığımızda ve vGameState değiştiğinde bir kez güncelle
-- Her zaman en güncel GameState'i görmeliyiz.
update()
vGameState.Changed:Connect(update)API Referansı
Özellikler
Font
Kod Örnekleri
Tüm Yazı Tiplerini Göster
local frame = script.Parent
-- Her yazı tipini görüntüleyen bir TextLabel oluştur
for _, font in pairs(Enum.Font:GetEnumItems()) do
local textLabel = Instance.new("TextLabel")
textLabel.Name = font.Name
-- Metin özelliklerini ayarla
textLabel.Text = font.Name
textLabel.Font = font
-- Bazı görüntüleme özellikleri
textLabel.TextSize = 24
textLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Çerçevenin boyutunu metnin yüksekliği ile eşit yap
textLabel.Size = UDim2.new(1, 0, 0, textLabel.TextSize)
-- Ana çerçeveye ekle
textLabel.Parent = frame
end
-- Çerçeveleri bir liste halinde yerleştir (zaten değillerse)
if not frame:FindFirstChildOfClass("UIListLayout") then
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = frame
endFont Döngüsü
local textLabel = script.Parent
while true do
-- Tüm farklı yazı tipleri üzerinde yinele
for _, font in pairs(Enum.Font:GetEnumItems()) do
textLabel.Font = font
textLabel.Text = font.Name
task.wait(1)
end
endFontSize
Text
Kod Örnekleri
Soluk Afiş
local TweenService = game:GetService("TweenService")
local textLabel = script.Parent
local content = {
"Oyunumda hoşgeldin!",
"Eğlenmeyi unutma!",
"Lütfen önerilerde bulunun!",
"Diğer oyunculara nazik olun!",
"Diğer oyuncuları rahatsız etmeyin!",
"Dükkanı kontrol edin!",
"İpucu: Ölmemeye çalışın!",
}
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
-- Adım 0: Bir şey yapmadan önce soluklaştır
fadeOut:Play()
task.wait(tweenInfo.Time)
-- Adım 1: Son gösterilen içerik dışında bir içerik seç
local index
repeat
index = RNG:NextInteger(1, #content)
until lastIndex ~= index
-- Bir sonraki sefer aynı şeyi göstermemek için
lastIndex = index
-- Adım 2: İçeriği göster
textLabel.Text = content[index]
fadeIn:Play()
task.wait(tweenInfo.Time + 1)
endMetin İçinde Emojiler
local textLabel = script.Parent
local moods = {
["happy"] = "😃",
["sad"] = "😢",
["neutral"] = "😐",
["tired"] = "😫",
}
while true do
for mood, face in pairs(moods) do
textLabel.Text = "Ben " .. mood .. " hissediyorum! " .. face
task.wait(1)
end
endTextBounds
Kod Örnekleri
Dinamik Metin Kutusu Boyutu
local textBox = script.Parent
-- TextBox'ın ulaşabileceği en küçük boyut
local minWidth, minHeight = 10, 10
-- Metin yazarken metnimiz biraz titremesin diye hizalamayı ayarlayın
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)TextColor
TextColor3
Kod Örnekleri
Geri Sayım Metni
-- Bu kodu bir LocalScript içerisinde TextLabel/TextButton'a yerleştirin
local textLabel = script.Parent
-- TextColor3 ile kullanacağımız bazı renkler
local colorNormal = Color3.new(0, 0, 0) -- siyah
local colorSoon = Color3.new(1, 0.5, 0.5) -- kırmızı
local colorDone = Color3.new(0.5, 1, 0.5) -- yeşil
-- Sonsuz döngü
while true do
-- 10'dan 1'e geri say
for i = 10, 1, -1 do
-- Metni ayarla
textLabel.Text = "Zaman: " .. i
-- Kalan zamana göre rengi ayarla
if i > 3 then
textLabel.TextColor3 = colorNormal
else
textLabel.TextColor3 = colorSoon
end
task.wait(1)
end
textLabel.Text = "BAŞLA!"
textLabel.TextColor3 = colorDone
task.wait(2)
endTextSize
Kod Örnekleri
"Kaboom!" Metni
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)
endTextStrokeTransparency
Kod Örnekleri
Metin Vurgulama Osilasyonu
local textLabel = script.Parent
-- Vurgunun ne kadar hızlı yanıp sönmesi gerektiği
local freq = 2
-- Sarı vurgulama rengine ayarla
textLabel.TextStrokeColor3 = Color3.new(1, 1, 0)
while true do
-- math.sin -1 ile 1 arasında osilasyon yapar, bu yüzden aralığı 0'dan 1'e değiştiriyoruz:
local transparency = math.sin(workspace.DistributedGameTime * math.pi * freq) * 0.5 + 0.5
textLabel.TextStrokeTransparency = transparency
task.wait()
endTextWrap
TextWrapped
Kod Örnekleri
Uzun Metin Kapsama
local textLabel = script.Parent
-- Bu metin sarması demosu en iyi 200x50 px dikdörtgende gösterilir
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Yazılacak bazı içerikler
local content = "Uzun bir kelime dizisi burada "
.. "UI öğesinin genişliğini "
.. "geçerek satır kırılmalarına neden olacak. Paragraflar için kullanışlıdır "
.. "gerçekten uzun olanlar."
-- İki karakter bir kerede metin yazacak bir işlev
local function spellTheText()
-- İçeriğimizin uzunluğuna kadar 1'den başlayarak yinele
for i = 1, content:len() do
-- İçeriğimizin 1'den i'ye kadar bir alt dizesini al
textLabel.Text = content:sub(1, i)
-- Metin kutumuza sığmazsa metni renklendir
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Siyah
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Kırmızı
end
-- Çift uzunluklarda kısa bir an bekle
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Ölçek/sarma kapalıyken metni yaz
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Sarma açıkken metni yaz
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Metni metin ölçeklendirme açıkken yaz
-- Not: Metin UI öğesine sığması için küçültülmek zorunda kalındığında kırmızıya döner (TextFits = false).
textLabel.TextScaled = true
-- Not: TextWrapped, TextScaled = true olduğunda zımnen etkinleştirilir.
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
endTextXAlignment
Kod Örnekleri
Metin Hizalaması
-- Bunu bir TextLabel/TextButton/TextBox içinde bir LocalScript'e yapıştırın
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
-- Hem TextXAlignment hem de TextYAlignment enum öğeleri üzerinde döngü yapın
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