CodeBlanks Logo Icon CodeBlanks

Canvas nedir?

Canvas'ın tüm UI öğelerinin kök kapsayıcısı olduğunu öğrenirsin.

Canvas nedir?

Canvas, Unity'de kullanıcı arayüzü (UI) ögelerinin (butonlar, metinler, resimler) çizildiği temel kök (root) kapsayıcıdır. Sahnede ekrana çizilecek her UI elemanı mutlaka hiyerarşide bir Canvas nesnesinin çocuğu (child) olmak zorundadır.

// Canvas bileşenine erişim ve çizim modu
Canvas canvas = GetComponent<Canvas>();
canvas.renderMode = RenderMode.ScreenSpaceOverlay;

Canvas bulunmayan bir sahnede UI elemanları ekranda görüntülenemez ve kullanıcı etkileşimine giremez.

Canvas Render Mode türleri

Canvas üç temel çizim moduna sahiptir: Screen Space - Overlay (ekranın tam üstüne 2D olarak çizer), Screen Space - Camera (belirli bir kameranın önüne yansıtır) ve World Space (3D oyun dünyasının içine yerleştirir).

// Karakter üstü can barı için World Space modu
canvas.renderMode = RenderMode.WorldSpace;

Karakterlerin tepesindeki isim etiketleri veya sağlık barları için 3D dünya koordinatlarında duran World Space tercih edilir.

Uygulama Canvas kök ve mod bilgisini yazdır

uiRoot değişkenine "Canvas", mode değişkenine "ScreenSpaceOverlay" ata. Ekrana UI Root: Canvas | Mode: ScreenSpaceOverlay yazdır.

Başlangıç kodu

Player.cs
using System;

class Program
{
    static void Main()
    {
        // uiRoot ve mode değerlerini tanımlayıp yazdır
    }
}

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string uiRoot = "Canvas";
        string mode = "ScreenSpaceOverlay";
        Console.WriteLine("UI Root: " + uiRoot + " | Mode: " + mode);
    }
}

Beklenen çıktı

UI Root: Canvas | Mode: ScreenSpaceOverlay

Soru ve cevaplar

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

1 Unity'de buton, metin ve sağlık barı gibi UI ögelerinin ekranda çizilebilmesi için temel kural nedir?

  • Nesnelerin MeshRenderer materyali içermesi
  • Nesnelerin bir Rigidbody bileşenine sahip olması
  • Nesnelerin hiyerarşide bir Canvas altında yer alması Doğru cevap
  • Sahnede en az üç farklı AudioSource bulunması

Açıklama: Tüm UI ögeleri çizim alanı olarak bir Canvas'a ihtiyaç duyar ve onun alt hiyerarşisinde bulunmalıdır.

2 Ekran üstü çizim modunu belirle

Soru
canvas.renderMode = RenderMode.____;
Cevap
canvas.renderMode = RenderMode.ScreenSpaceOverlay;

Açıklama: UI'ı ekranın en üst 2D katmanına doğrudan çizmek için ScreenSpaceOverlay modu seçilir.

3 Canvas kavramları

Kavram Anlamı
Canvas Tüm UI ögelerini barındıran kök bileşen
Screen Space - Overlay UI'ı en üst ekrana doğrudan çizen mod
World Space UI'ı 3D dünyada nesne gibi çizen mod
EventSystem Kullanıcı girdilerini UI'a ileten nesne

Orta seviye bölümündeki tüm dersler