Friday 15 January 2016

Mobile - Basic Unity Touch Script

Advertisement


Oke, tutorial pertama di tahun 2016, kali ini mimin mau coba menjelaskan basic dari touch script di unity. Unity touch script ini penting banget apalagi buat yang mau bikin game di mobile phone, langsung aja :

Untuk mencoba touch pada mobile phone, pertama bisa instal dulu Unity Remote 4 pada smartphone masing-masing, Unity Remote ini digunakan untuk mencoba touch script secara langsung pada smartphone menggunakan kabel usb yang dihubungkan ke pc. Untuk peroses penggunaannya sudah banyak tutorial tentang unity remote 4     :D hehe

A. touchCount
touchCount digunakan untuk mendeteksi ada berapa jari yang menyentuh layar biasanya ditulis
Input.touchCount
Sebagai contoh, mimin print total jari yang menyentuh layar, gunakan perintah ini
void Update(){
            Debug.Log(Input.touchCount);
}
Nah coba deh sentuh layar satu atau lebih jari.


B. GetTouch
GetTouch digunakan untuk mendapatkan kondisi touch setelah jari menyentuh layar. Umumnya GetTouch ini digunakan untuk memberi sebuah event, contoh event sederhana diambil dari game Vainglory adalah ketika jari menyentuh layar maka karakter akan berpindah ke posisi dimana jari menyentuh.

Contoh, ketika 1 jari menekan layar, maka posisi layar yang disentuh jari akan diprint
void Update(){
           if(Input.touchCount > 0){
                       Debug.Log(Input.GetTouch(0).position)
           }
}
Penjelasan :
Pertama dikondisikan dulu jika ada lebih dari 0 jari yang menyentuh layar, kemudian posisi dari sentuhan yang pertama tadi diprint menggunakan Debug.Log().

GetTouch(0) , angka nol menunjukan bahwa yang akan diprint adalah sentuhan yang pertama (Konsep Array atau List), jadi kalo mau mencoba print sentuhan jari yang kedua gunakan GetTouch(1) dimana kedua jari tetep menempel di layar.

GetTouch memiliki 4 jenis kondisi ketika jari menyentuh layar, yaitu :
- Began, ketika pertama kali jari menyentuh layar
- Stationary, ketika jari terus ditekan
- Moved, ketika jari bergerak pada layar
- Ended, ketika jari diangkat dari layar
Untuk penejelasan tentang kondisi ini akan dibahas di tutorial selanjutnya.


C. Variabel Touch
Variabel touch digunakan untuk menyimpan touch atau sentuhan, dengan menggunakan variabel touch penggunaan GetTouch() jadi lebih simple.
Contoh
void Update(){
          if(Input.touchCount > 0){
                     Touch touchPertama = Input.GetTouch(0);
                     Touch touchKedua = Input.GetTouch(1);

                     Debug.Log(touchPertama.position);
          }
}
Penjelasan :
Konsep contoh point C sama dengan Konsep contoh point B, yaitu print posisi layar yang disentuh oleh jari pertama, bedanya pada point C Input GetTouch dipindahkan dulu ke Variabel Touch.


D. touches
Input.touches memiliki konsep yang sama dengan GetTouch, perbedaannya Input.touches dapat menampung banyak sentuhan pada sebuah variabel array.

Contoh penulisan 1
Touch[] myTouch = Input.touches;
for (int i = 0 ; i < Input.touchCount; i++){
          // Lakukan Sesuatu
}
Contoh penulisan 2
if(Input.touches.Length > 0){
          // Lakukan Sesuatu
}

Untuk Input.touches akan dibahas pada tutorial selanjutnya.






EmoticonEmoticon