Scene2D: Menangani event touch di Actor

Lanjutan dari tutorial scene2D:Action

Setiap Actor dapat menangani event melalui listener. Sebagai contoh, kita akan menambahkan aksi jika Actor di-touch.
Buat class listener di dalam kelas Actor agar dapat mengakses semua atribut dan method actor. Kelas ini mendefinisikan aksi yang akan dilakukan jika actor di-touch (down, up dan drag).

Untuk mendeteksi multitouch, dapat digunakan parameter pointer. Parameter x dan y adalah posisi relatif touch dari actor, di mana koordinat (0,0) ada di sudut kiri bawah actor.

Buka class Kotak.java, tambahkan class listener sebagai berikut (class ini berada di dalam class Kotak). Perhatikan penggunaan Gdx.app.log. Ini sangat bermanfaat dalam proses debug.


public class Kotak extends Actor {
    private Pixmap pm;
    private Sprite sp;
    private Texture img;

    //kelas listener
    private class Touch extends InputListener {

            //pointer digunakan untuk multitouch. berisi nol untuk touch jari pertama,
            //1 untuk jari kedua dst
            public boolean touchDown (InputEvent event, float x, float y,
                                      int pointer, int button) {
                Gdx.app.log("yw", "touch down; pointer=" + pointer);
                return true;
            }

            public void touchUp (InputEvent event, float x, float y,
                                 int pointer, int button) {
                Gdx.app.log("yw","touch up");
            }

            public void touchDragged (InputEvent event, float x,
                                      float y, int pointer) {
                Gdx.app.log("yw","touch dragged");
            }
     } //class touch
     
     // ....
     // sisanya sama

Tambahkan class listener ini saat Actor di create.

public Kotak  () {
     addListener(new Touch());
     //...
     //sisanya sama

Jalankan, lalu coba touch (klik) dan drag, hasilnya akan muncul di Android Studio seperti gambar dibawah:

0 comments on “Scene2D: Menangani event touch di Actor

1 Pings/Trackbacks for "Scene2D: Menangani event touch di Actor"

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.