30 Temmuz 2012 Pazartesi

Transform Classı Ve Önemli Fonksiyonları

Evet arkadaşlar son zamanalarda vaktim olmadığından pek uğraşamasamda bu sitede tüm classları harfi harfine açıklamak istiyorumki untyi öğrenmek isteyen bir kardeşimiz girip herşeyi öğrensin burdan evet Transform classına başlıyoruz.
Tüm referenceların olduğu link

http://docs.unity3d.com/Documentation/ScriptReference/Transform.html
Position


Position fonksiyonunda arkadaşlar nesnenin mesela bir cube ün pozisyonunu ölçeriz yazdırırz yada kullanırız.Şimdi  aşağıdaki gibi bir küp oluşturalım.

Kübü oluşturduktan sonra bir javascript dosyası oluşturalım. 



Daha sonra şuan işlediğimiz konu olan Transform classının Position fonskiyonunu nasıl kullanacağımıza bir göz atalım.Şimdi klasik olarak ilk önce önceden gördüğümüz gibi classın ismini ve kullanacağımız fonksiyonu aralarında nokta olacak şekilde yazalım.


transform.position


Yukardaki kodu tek başına yazdığımızda bir şey ifade etmez şimdi transform.position yani objenin pozisyonunu 3 boyutlu uzayda x,y,z ye göre belirleriz şimdi küpün x vektöründeki yerini ölçelim ve konsola yazdıralım.Bunun için aşağıdaki kod uygun olacaktır.




print(transform.position.x) // Bu kodu önceden görmüştür print() konsola birşeyler yazdırmaya yarar.


Şimdi yukarda naptık Cube objesinin x vektöründeki yerini bulunduğu yeri konsola yazdırdık şimdi bu scripti kaydedelim ve Cube e sürükleyelim.Daha sonra oyunumuzu başlatalım ve aşağıda kübün x vektöründeki yerinin gösterildiğini görelim.Cube ün  yerini değiştirerek x vektöründeki yerinin değerinide değişebiliriz.


Şimdi kendi başınıza bunu y ve z vektörleri için yapın.Yaptığınız kodları yoruma yazın altta ödev :)




Translate

Translate fonksiyonun türkçesi çevirmek dönüştürmek gibi anlamlara gelir biz translate fonksiyonunu bir objenin yerini değiştirmekte kullanacağız yani ilk kez sizinle beraber biz objeyi hareket ettireceğiz!

Şimdi fonksiyona başlamadan önce şunları öğreticem Update() ve Start() fonksiyonları 
Bu fonksyionlardan Update() in içine yazdığınız kodlar Unity tarafından durmadan kontrol edilir.Yani mesela konsola bir yazımı yazdırcaksınız.Mesela:print("deneme"); ekranda deneme yazar şimdi bunu Update() fonksyionu adı altında deneyelim.

function Update()
{
print("deneme");
}

Bu kodu yazarsak konsolada bakarsak durmadan yenilendiğini durmadan aynı yazının yazdığını görürüz.Şimdi translate de hareket ettirceğimiz için bunu sürekli denetleyen bir fonksiyonun olması gerekir buda Update() tir.
Hemen yazalım ve daha sonra açıklayalım.

function Update()
{
transform.Translate(1,0,0);
}
Şimdi burda naptık burda ilk önce öğrendiğimiz gibi Update() fonksiyonunu belirttik daha sonra içine şuan işlemekte olduğumuz transform classını yazdık ve Translate yazdık buraya kadar sorun yoktur umarım bundan sonra (1,0,0) yazısı şunu belirtir. (x,y,z)  yani hangi vektörde hareket ettirceğiniz size kalmış.İster x vektöründe ister y de ister z de bunu siz belirlersiniz.


Kullanım Şekli Genel olarak:

transform.Translate(x,y,z);

Tabi burda kendi kendine hareket ediyor ilerki derslerde bir tuşa basınca hareket ettirmeyi vesaire görücez.

Destroy

Evet arkadaşlar adındanda anlaşıldığı gibi objeleri scriptleri componentleri yani herşeyi yoketmeye yarar.Şimdi geçen fonksiyonda Start() ve Update() ten bahsettik fakat Start() ı kullanmadık.Şimdi Start() ı kullanacağız.


var kup : GameObject;
function Start()
{
Destroy(kup); // kup değişkeninde tanımladığımız objeyi yokettik.
}


Bu yukardaki kod ne diye şaşırabilirsinizki zaten bunu anlamışsanız çözmüşsünüzdür demektir.İlk derste değişken yaratmayı incelemiştik.Değişken tiplerinden bahsetmiştik.int,float,string gibi burda farklı bir şey gözümüze çarpıyor "GameObject". Manasındanda belli olduğu gibi oyundaki bir objeyi tanımladık.Şimdi bu kodu Main Cameraya sürükleyelim.



Burda Cube yazan yerde size Boş olacaktır oraya küp objesini sürükleyelim ve oyunu başlatalım.Gördüğümüz gibi küp objesi yokoldu.Şimdi bu kodda bir değişiklik yapalım.

var kup : GameObject;
function Start()
{
Destroy(kup,10); // kup değişkeninde tanımladığımız objeyi 10 saniye sonra yokettik.
}


Aynı kod tek fark ,10 şu ibare bu kodda da belirttiğim gibi objeyi 10 saniye sonra yokettirir.Oraya istediğiniz sayıyı yazabilirsiniz.

Evet arkadaşlar bu dersimizinde sonuna geldik sorularınız önerileriniz ne varsa yorumdan sorabilirsiniz.İyi günler dilerim bir sonraki derste görüşmek üzere


1 yorum:

Ustam harikasın, Bende öss nedeniyle ara verdim o yüzden bende pek bakmıyorum ama şöyle bir göz gezdiriyim dedim burayı keşfettim. Şuana kadar ki dersler için çok teşekkürler umarım sınavdan sonra devam edersin benim gibi, bende seni takip etmeye devam ederim. Bir adet sorum var mail yolu ile ileteceğim umarım vaktin olurda cevaplarsın. Yolun açık olsun Sınavda başarılar.

Yorum Gönder