CodeBlanks Logo Icon CodeBlanks

UI ile gösterim

Diyalog çizgilerini UI Text ile göstermeyi öğrenirsin.

UI ile Gösterim ve TextMeshPro

Diyalog metinlerinin ekranda keskin ve net görünmesi için Unity'de TextMeshPro (TMP) kullanılır. Canvas üzerinde bir konuşmacı adı metni ve diyalog içeriği metni oluşturulur.

using TMPro;
using UnityEngine;

public class DialogueUI : MonoBehaviour {
    public TextMeshProUGUI speakerText;
    public TextMeshProUGUI dialogueText;
}

TextMeshProUGUI bileşeni yüksek çözünürlüklü font atlasları sayesinde her ekran boyutunda kusursuz metin sunar.

Metin Güncelleme ve Buton Dinleyicileri

Diyalog yürütücü yeni bir satıra geçtiğinde metin alanlarını doğrudan günceller. Seçenek düğümlerinde ise butonların onClick olayına seçim fonksiyonu bağlanır.

public void ShowLine(string speaker, string content) {
    speakerText.text = speaker;
    dialogueText.text = content;
}

Daktilo efekti (typewriter effect) gibi görsel zenginleştirmeler de bu arayüz katmanında bir coroutine ile eklenir.

Uygulama UI metin güncelleme

Bir Start metodu tanımla. İçinde string replik = "Gorev tamamlandi!"; tanımla ve konsola "UI metni: " + replik yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class DialogueUITester : MonoBehaviour
{
    // Start icinde replik tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class DialogueUITester : MonoBehaviour
{
    void Start()
    {
        string replik = "Gorev tamamlandi!";
        Debug.Log("UI metni: " + replik);
    }
}

Beklenen çıktı

UI metni: Gorev tamamlandi!

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Unity UI üzerinde yüksek kaliteli ve ölçeklenebilir diyalog metinleri göstermek için hangi bileşen tercih edilir?

  • Rigidbody2D
  • BoxCollider
  • AudioSource
  • TextMeshProUGUI Doğru cevap

Açıklama: TextMeshProUGUI, modern Unity projelerinde yüksek kaliteli metin render etmek için standart UI bileşenidir.

2 Diyalog metnini güncelle

Soru
dialogueText.____ = "Hos geldin maceraci!";
Cevap
dialogueText.text = "Hos geldin maceraci!";

Açıklama: TextMeshPro bileşeninin ekranda gösterdiği yazıyı değiştirmek için 'text' özelliği atanır.

3 UI gösterim bileşenleri

Kavram Anlamı
TextMeshProUGUI UI diyalog metin bileşeni
speakerText Konuşmacı adını yazdıran UI alanı
dialogueText.text Replik metnini güncelleyen özellik
Button.onClick Seçenek seçildiğinde tetiklenen olay

İleri seviye bölümündeki tüm dersler