CodeBlanks Logo Icon CodeBlanks

MonoBehaviour nedir?

MonoBehaviour temel sınıfını ve rolünü öğrenirsin.

MonoBehaviour nedir?

MonoBehaviour, UnityEngine içindeki temel sınıftır. Bir C# scriptini GameObject'e bileşen olarak ekleyebilmen için sınıfın bu sınıftan türemesi gerekir. Böylece Unity scriptini sahnedeki bir nesneye bağlar.

using UnityEngine;

public class Oyuncu : MonoBehaviour
{
    void Start()
    {
        Debug.Log("Merhaba");
    }
}

Yukarıdaki sınıf artık bir GameObject'e bileşen olarak eklenebilir.

Temel sınıf ve yaşam döngüsü

MonoBehaviour bir temel sınıftır; : MonoBehaviour yazdığında ondan türetmiş olursun. Unity bu sınıftaki belli metotları sen çağırmadan kendisi çağırır ve buna yaşam döngüsü denir. Sen yalnızca metotları yazarsın, çağrı sırasını Unity yönetir.

public class Dusman : MonoBehaviour
{
    void Start()
    {
        Debug.Log("Hazir");
    }

    void Update()
    {
        // her karede calisir
    }
}

Metotların adını doğru yazman yeterlidir.

Uygulama İlk MonoBehaviour'ını yaz

Oyuncu adında bir sınıfı MonoBehaviour'dan türet. Start metodu içinde Debug.Log ile "Merhaba Unity" metnini yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class Oyuncu : MonoBehaviour
{
    // Start metodunu ve yazdirma kodunu buraya ekle
}

Örnek çözüm

Player.cs
using UnityEngine;

public class Oyuncu : MonoBehaviour
{
    void Start()
    {
        Debug.Log("Merhaba Unity");
    }
}

Beklenen çıktı

Merhaba Unity

Soru ve cevaplar

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

1 Bir scripti bir GameObject'e bileşen olarak ekleyebilmek için sınıf nasıl tanımlanmalı?

  • class Oyuncu : MonoBehaviour olarak Doğru cevap
  • class Oyuncu : GameObject olarak
  • static class Oyuncu olarak
  • class Oyuncu olarak, hiçbir türetme olmadan

Açıklama: MonoBehaviour'dan türeyen sınıflar Unity'nin yaşam döngüsü metotlarını kazanır ve bileşen olarak eklenebilir.

2 Sınıfı MonoBehaviour'dan türet

Soru
using UnityEngine;

public class Oyuncu : ____
{
    void Start()
    {
        Debug.Log("Hazir");
    }
}
Cevap
using UnityEngine;

public class Oyuncu : MonoBehaviour
{
    void Start()
    {
        Debug.Log("Hazir");
    }
}

Açıklama: Script sınıfları MonoBehaviour temel sınıfından türetilir; aksi halde Unity onları bileşen olarak kabul etmez.

3 MonoBehaviour'ın parçaları

Kavram Anlamı
MonoBehaviour Scriptlerin türediği temel sınıf
: MonoBehaviour Kalıtım bildirimi
void Start() Unity'nin çağırdığı metot
Debug.Log Konsola metin yazar

Başlangıç bölümündeki tüm dersler