Wednesday 10 June 2015

Unity Tutorial : C# ~ Perbedaan Transform dan GameObject

Advertisement


Dalam sebuah listing program atau script sering dijumpai pendeklarasian Transform dan GameObject, dilihat dari penulisan hampir sama dan cara mengaksesnya juga hampir sama, jadi apa perbedaan dari dua fungsi tersebut ?

1. Contoh Penulisan
Transform player;
GameObject pemain;

void Awake(){
          player   = GameObject.FindGameObjectWithTag("Player").transform;
          pemain = GameObject.FindGameObjectWithTag("Player");
}



A. Transform
Secara sederhana Transform adalah tipe data yang digunakan untuk mendeklarasikan keberadaan objek pada suatu game, keberadaan bisa berarti posisi, rotasi dan ukuran objek.

Untuk mendeklarasikannya cukup tulis Transform namaVariabel. Dan jika digunakan pengaksesan menggunakan fungsi Find() maka tambahkan .transform.

2. Contoh Transform
Transform musuh;

void Awake(){
          musuh = GameObject.Find("Enemy").transform;
}

void Update(){
         Debug.Log(musuh.position);
}

Penjelasan :
Di dalam method Awake() variabel musuh sudah mengakses keberadaan objek musuh, dan posisi musuh di print pada jendela console dengan perintah musuh.position.

Jika ingin menghasilkan rotasi dan ukuran objek cukup dengan musuh.rotation dan musuh.scale.



B. GameObject
GameObject adalah tipe data yang digunakan untuk mendeklarasika objek yang ada di dalam game, nantinya objek tersebut akan diakses dan diedit melalui listing program.

Untuk mendeklarasikannya cukup tulis GameObject namaVariabel.

3. Contoh GameObject
GameObject pemain;

void Awake(){
          pemain= GameObject.Find("Player");
}

void Update(){
         Destroy(pemain);
}

Penjelasan :
Setelah pemain dideklarasikan dan mengakses objek Player, kemudian objek dimusnahkan menggunakan funsi Destroy();


C. Mengakses Posisi dari GameObject
Apakah bisa mengakses keberadaan objek dengan menggunakan tipe data GameObject ?

Jawabannya "Ya"!.

3. Contoh GameObject2
GameObject pemain;

void Awake(){
          pemain= GameObject.Find("Player");
}

void Update(){
         Debug.Log(pemain.transform.position);
}

Penjelasan :
Dengan menambahkan .transform setelah variabel objek kemudian dilanjut dengan posisi yang diinginkan.

Namun VCG menyarankan jika hanya ingin mengakses keberadaan objek gunakan tipe data Transform.


EmoticonEmoticon