今日の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; } } }
なんか馬鹿っぽいコード…
このあと
考え中。。