Ana içeriğe atla

Bu makalede yazılan her içerik Trakya Üniversitesi BPR öğrencilerinin özgün içeriğidir.

Monobehaviour Sınıfı Nedir? 

Bu yazımızda Unity için temel başlıklardan biri olan Monobehaviour sınıfı ve onun oyun yapımının omurgası olan fonksiyonlarından bahsedeceğiz, Monobehaviour sınıfı Unity içerisinde çeşitli olayları yönetebilmemizi sağlayan fonksiyonları barındırmaktadır örneğin oyun başlarken tetiklenecek olayları tetikleyen,oyun biterken tetiklenecek olayları tetikleyen gibi bütün fonksiyonlar Monobehaviour sınıfı içerisinde bulunmaktadır ve herhangi bir class kullanırken miras alınması neredeyse zorunludur zaten yeni bir script dosyası oluşturduğumuzda Monobehaviour sınıfı otomatik olarak miras alınmış şekilde gelir biz dilersek bu sınıfın miraslığını kaldırabilir ve yeni oluşturduğumuz script dosyasını kendimize göre düzenleyebiliriz.

Monobehaviour Fonksiyonları

Monobehaviour fonksiyonlarının sahne yönetiminde kullanılan temelde 8 fonksiyonu vardır biz en işimize yarayacak ve karşılaşma olasılığımızın yüksek olduğu fonksiyonlara değineceğiz.

Start();

Oyun başlarken gerçekleşecek olayları tetikleyen fonksiyondur içerisine yazdığınız kodlar sahne başladıktan hemen sonra yalnızca 1 defa tekrarlanır.

Update();

Oyun başladıktan sonra her saniyede yani her frame'de bir tekrar çalışan bir fonksiyondur eğer oyun içerisinde bazı olayların tekrar tekrar çalışmasını istiyorsanız bu fonksiyonu tercih edebilirsiniz yalnız bu fonksiyon bazı fiziksel işlemleri çeşitli cihazlarda yaşanan ram sıkıntısı nedeniyle yakalayamamaktadır bunun önüne geçmek için ise FixedUpdate kullanılır.

FixedUpdate();

Update fonksiyonunun daha profesyonel kullanımı denilebilir, milisaniyelik gecikmeleri önlemek için kullanılan ve cihazdan cihaza değişiklik yaşanmasını önleyen bir fonksiyondur elbette update fonksiyonunun yerine kullanılabilir ama bu fonksiyonun varlığı update fonksiyonunu tamamen işe yaramaz kılmaz,tavsiyem bu fonksiyonu yalnızca fiziksel bileşenlerin dahil olduğu işlemlerde gecikme yaşanmaması için kullanmanızdır.

Awake();

Sahne başlar başlamaz Start(); fonksiyonundan daha önce çalışan Türkçe manasıyla uyanış anlamına gelen ve anlayacağınız gibi ilk çalışan fonksiyondur eğer sahne başlamadan karakterimizin sahip olmasını istediğimiz bazı özellikler varsa bu fonksiyon işinize yarayabilir.

LateUpdate();

Update fonksiyonları arasında en geç çalışan fonksiyondur, oldukça kullanışlıdır kamera objesi için script kodları yazarken tercih edilebilir çünkü oyuncu gözünden gördüğümüzde diğer objelerin kendi hareketlerini güncellemelerini isteriz hazırlıksız yakalamak istemeyiz yani çeşitli piksel hatalarıyla karşılaşmamayı bu fonksiyon önler.