MonoBehaviour nedir?
- Oyun Geliştirme kursu
- Başlangıç
- Ders 31/83
- 4 dk
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
using UnityEngine;
public class Oyuncu : MonoBehaviour
{
// Start metodunu ve yazdirma kodunu buraya ekle
}Örnek çözüm
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
using UnityEngine;
public class Oyuncu : ____
{
void Start()
{
Debug.Log("Hazir");
}
}
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 |