今日のlibGDX(20150612):E. 開発記 8 入力をましにする

今日のlibGDX目次

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

今日のテーマ:E. 開発記 8 入力をましにする

今まではキー入力を受け取っていたけど、スマートフォンっぽくタッチ入力を受け取るようにします。

androidで試す必要があるけど、以前にやったクリックイベント=スマフォの画面タッチしたときのイベント として 扱われるような話もあったので、それに変えます。

プレイヤーバーの動き

プレイヤーバーの動きは、タッチした箇所にバーがきてほしいので、

タッチ→現在位置からタッチされた箇所に少しずつ移動

をします。

ステージでタッチされた部分を取得して、つめます。

stage.addListener(new ClickListener() {
    @Override
    public void clicked(InputEvent event, float x, float y) {
        // バーの移動開始
        move = true;
        bar.setTargetX(x);
        bar.direction = bar.getTargetX() - bar.getX();
    }
});

引数のx,yにはクリックされた座標の値が入っているみたいだ.

//プレイヤーバーの移動処理
if (move) {
    if (0 < bar.direction) {  //→
        if (bar.getX() + moveCnt < bar.getTargetX()) {
            bar.updatePosition(bar.getX() + moveCnt, bar.getY());
            moveCnt += PLAYER_BER_MOVEMENT;
        } else {
            moveCnt = 0;
            move = false;
        }

    } else if (bar.direction < 0) { //←
        if (bar.getX() + moveCnt > bar.getTargetX()) {
            bar.updatePosition(bar.getX() + moveCnt, bar.getY());
            moveCnt -= PLAYER_BER_MOVEMENT;
        } else {
            moveCnt = 0;
            move = false;
        }
    }
}

なんか馬鹿っぽいコード…

このあと

考え中。。