Unity UI - Repeat Button - IMedia9 - Creative Networks

Breaking

Friday 27 February 2015

Unity UI - Repeat Button


Halo teman-temans apa kabar? Balik lagi bersama tutorial Unity Si Kancil! Yeeey! Tutorial kali ini saya persembahkan spesial buat sahabat kita mas Rudi Ardiansyah yang memberikan pertanyaan yang cukup menggelitik. Gimana sih cara bikin Repeat Button menggunakan Unity UI yang terbaru? Maksudnya Repeat Button itu adalah tombol dipencet terus tapi fungsi dijalankan berkali2 sampai tombol di lepas. 


Pertanyaan ini bikin saya kelimpungan karena saya juga mau nanya hal yang sama. Bisa nggak ya? Setelah berkurulang-kuruling di berbagai forum, akhirnya ketemu! Cara yang kelihatannya official dari Unity. Mau tahu? Mau tahu? Hajar bleh!

Langkah pertama adalah buat Project baru di Unity dan buat sebuah Button dari menu GameObject > UI > Button


Habis itu klik Button -nya di tab Hierarchy dan tambahin Component Event Trigger. Caranya klik menu Component > Event > Event Trigger


Habis itu cari di Properties  Button paling bawah, ada komponen baru kan tuh? Klik Add New Event Type dan pilih PointerDown. Ini untuk deteksi mouse dipencet.


Satu lagi dengan cara yang sama pilih PointerUp. Ini untuk deteksi mouse dilepas. Ntar kurang lebih tampilannya kayak gini.


Habis itu bikinlah sebuah  GameObject baru dengan CreateEmpty untuk nampung Script. Bukan untuk apa-apa sih, supaya keliatan rapi aja.


Habis itu bikin sebuah Script baru C#. CAMPAK!! Eh... CAMKAN! Nama GameObjectnya mesti
GameUI dan scriptnya mesti GameUIScript. Kenapa? Ya nggak kenapa-napa sih, sebenernya namanya bebas juga ga masalah, tapi agan udah baca blog ini gratis kan? Mbok ya nurut ajalah sama penulisnya, wkwkwkw


Ketikkin deh Script berikut:
1:  using UnityEngine;  
2:  using System.Collections;  
3:  public class GameUIScript : MonoBehaviour {  
4:       int number;  
5:       bool isRepeat;  
6:       // Use this for initialization  
7:       void Start () {  
8:            number = 0;  
9:       }  
10:       // Update is called once per frame  
11:       void Update () {  
12:            if (isRepeat){  
13:                 number++;  
14:                 Debug.Log(number.ToString());  
15:            }  
16:       }  
17:       public void WhenMouseDown(){  
18:            isRepeat = true;  
19:       }  
20:       public void WhenMouseUp(){  
21:            isRepeat = false;  
22:       }  
23:  }  

Habis itu pasang Scriptnya di GameObject GameUI.


Habis itu klik lagi Button di panel Hierarchy dan untuk event PointerDown klik + untuk nambahin fungsi


Klik GameObject dan pilih GameUI. Kenapa? Karena tadi si GameUI udah kita pasangin scriptnya.


Selanjutnya dari dropdown function pilih menu yang bersesuaian, dalam hal ini saya bikin fungsi: WhenMouseDown. Nama fungsi mesti bener biar nggak ketuker2 ntar agan bingung sendiri loh!


Lakukan hal yang sama untuk PointerUp. Saya soalnya males nge-printscreen lagi. Nah, habis itu jalanin deh. Ta-daaaaa! Dengan sekali klik nilai pada Debug.Log akan terus bertambah dan jika dilepas berhenti deh!


Jangan tanya kenapa incrementnya nggak berurutan, kan script Unity teh jalannya per frame bukan per detik. Jadi wuus,,,,, wuuus,,, wuuuus,,, cepet banget, kayak si kancil, hehehe. Segitu dulu tutorialnya semoga bermanfaat. Sampai jumpa lagi di tutorial-tutorial selanjutnya!

2 comments:

  1. help!!!,hamba pake unaity fersi 4,belum tersedia buton seperti itu, apalagi trigger. butuh waktu berbulan-bulan menabung untuk bisa beli kuota paket biar bisa update engine, apalagi untuk update spek komputer yang jadulnya pake pol, kasianilah hamba pengikut dan penggemar setia kiky si kancil,

    ReplyDelete