Text ve TMP
- Oyun Geliştirme kursu
- Orta seviye
- Ders 32/83
- 4 dk
Text ve TextMeshPro ile ekrana yazı yazmayı öğrenirsin.
Text ve TextMeshPro (TMP)
Unity'de ekrana metin yazdırmak için modern standart olan TextMeshPro (TMP) bileşeni kullanılır. Eski UI Text yerine TMP kullanmak, SDF (Signed Distance Field) teknolojisi sayesinde yazıların her ekran çözünürlüğünde keskin kalmasını sağlar.
// TextMeshProUGUI metin içeriğini değiştirme
using TMPro;
public TextMeshProUGUI scoreText;
scoreText.text = "Skor: 100";Yazı büyütüldüğünde veya kamera yakınlaştığında klasik piksellenme ve bulanıklaşma sorunları yaşanmaz.
Yazı özellikleri ve Font Asset
TextMeshPro bileşeni fontSize (yazı boyutu), color (renk) ve alignment (hizalama) gibi geniş düzenleme alanlarına sahiptir. TTF veya OTF yazı tipi dosyaları Unity'de önce bir TMP Font Asset varlığına dönüştürülür.
scoreText.fontSize = 36;
scoreText.color = Color.yellow;Bu sayede gölge, anahat (outline) ve parlama efektleri GPU üzerinde anlık olarak işlenir.
Uygulama TMP bileşenini ve metnini yazdır
component değişkenine "TextMeshProUGUI", displayText değişkenine "Score: 100" ata. Ekrana Component: TextMeshProUGUI | Text: Score: 100 yazdır.
Başlangıç kodu
using System;
class Program
{
static void Main()
{
// component ve displayText değerlerini tanımlayıp yazdır
}
}Örnek çözüm
using System;
class Program
{
static void Main()
{
string component = "TextMeshProUGUI";
string displayText = "Score: 100";
Console.WriteLine("Component: " + component + " | Text: " + displayText);
}
}Beklenen çıktı
Component: TextMeshProUGUI | Text: Score: 100
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 TextMeshPro (TMP) bileşeninin klasik UI Text bileşenine göre en belirgin üstünlüğü nedir?
- Yalnızca siyah ve beyaz renkleri desteklemesi
- SDF teknolojisiyle yüksek çözünürlüklerde pürüzsüz ve net kalması Doğru cevap
- 3D fizik çarpışmalarını otomatik hesaplaması
- Ses dosyalarını doğrudan yazıya dökebilmesi
Açıklama: TextMeshPro, SDF (Signed Distance Field) font teknolojisi sayesinde her boyutta vektörel keskinlik sunar.
2 Metin içeriğini güncelle
scoreText.____ = "Health: 100";
scoreText.text = "Health: 100";
Açıklama: TextMeshPro bileşeninin ekranda görünen metnini değiştirmek için 'text' özelliği kullanılır.
3 TMP metin kavramları
| Kavram | Anlamı |
|---|---|
TextMeshProUGUI |
Canvas'ta kaliteli metin çizen TMP |
fontSize |
Metnin punto cinsinden büyüklüğü |
SDF |
Yazı her ölçekte keskin kalsın diye |
Font Asset |
Font dosyalarından üretilen TMP kaynağı |