今日のlibGDX目次
http://snoopopo.hatenablog.com/entry/2015/04/27/220545
今日のテーマ:E. 開発記 4 キー入力の受取り
今回はプレイヤーが動かすバーを作っていきます。
キーの入力にあわせてバーを動かす
とりあえず、ボールやターゲットのようにXY座標を持ったバー用のクラスを作っておきます。
今まで、入力はクリックイベントしか知りませんでしたが、今回はキーの入力を受け取るようにします。
com.badlogic.gdx.Input クラスがgdx.jarにいます。このクラスでキー入力を受け取ることが出来るみたいです。
今回は、矢印の左右のキーの入力を受け取って、バーを動かすことにしました。
・MainLisner.java
//プレイヤーバーの動作 if (Gdx.input.isKeyPressed(Keys.LEFT)){ ber.setX(ber.getX() - 2); } else if (Gdx.input.isKeyPressed(Keys.RIGHT)) { ber.setX(ber.getX() + 2); } ber.getImage().setPosition(ber.getX(), ber.getY());
前フレームで押されてなかった時だけ反応する
ひらしょー本の文言そのままかりています。
今までのシーケンス遷移は、クリックイベントを拾ってやっていたけど、 キー入力、enterが押されることでシーケンス遷移するよう変更してみます。
if (Gdx.input.isKeyPressed(Keys.ENTER)) {/*遷移するための処理*/}
ひらしょー本にもあったけど、このままだとenter押したらいっきに遷移してしまうので、
前フレームでenterが押されてない && enterが押された ときに遷移するようにします。
if (!preEnter && Gdx.input.isKeyPressed(Keys.ENTER)) {/*遷移するための処理*/] preEnter = Gdx.input.isKeyPressed(Keys.ENTER);//前の状態とっておく
このあと
あたり判定処理を修正していきます。