今日のlibGDX(20150512):クリックイベントを拾う

今日のlibGDX目次

http://snoopopo.hatenablog.com/entry/2015/04/27/220545

今日のテーマ:クリックイベントを拾う

qiita.com

今回も前回の続きだけど、6番目のHTMLの部分は抜かして、7番目のイベント処理へいきます。

クリックイベント

ここで言ってるのは、 ある画像がクリックされたときに発生するイベントを拾って処理すること言ってるみたい。

ソース

解説もらってる部分を自分用にめも。

   //イベントを拾うステージを設定
    Gdx.input.setInputProcessor(stage);

ここで指定するstageは、このあと拾いたいイベントのActorオブジェクトが所属するstage。

この↓文法は無名クラスのオブジェクトを作っている部分。 com.badlogic.gdx.scenes.scene2d.utils.ClickListenerクラスの子クラス(これが無名クラス)のオブジェクトを生成してる。

   //イベントリスナーの無名子クラスを作成
    ClickListener listener = new ClickListener(){
        @Override
        public void clicked(InputEvent event, float x, float y){
            System.out.println("snoopopo-.png");
        }
    };
    image1.addListener(listener);

ClickListenerのclickedメソッドは空のメソッドになっていますね。 抽象メソッドにしなかったのはなんでかなあ。とちょっと思ったけど、ライブラリの中身のはなしなのでまあいい。

   ClickListener listener3 = new ClickListener(){
        @Override
        public void clicked(InputEvent event, float x, float y){
            System.out.println("group");
        }
    };
    //グループのイベントも拾えます!
    group.addListener(listener3);

重なった画像では、手前に表示されている画像のイベントになることも確認できました。

f:id:snoopopo:20150513092611p:plain

スマフォだと、クリック=タッチでいいのかな。PCでしか動かしてないので、そのあたりは今度。