Step 04 of 12
左右キー操作
矢印キーでブロックを左右に動かせるようにします。
onKey(Key key) はキーが押されるたびに呼ばれるメソッド。
「時間で起こること」と「キーで起こること」を分けて書くのがポイント。
About this step
何が新しくなった?
onKey(Key key) が登場。キーが押された瞬間に 1回だけ呼ばれます。
update(dt) が「毎フレーム呼ばれる」のに対して、
onKey は「イベント駆動」— 押された時だけ動くのが違い。
Key は enum(列挙型)。Key.LEFT、Key.RIGHT のように、
取りうる値がはっきり決まっている型です。if (key == Key.LEFT) の
== 比較が enum では普通(String と違って .equals は要らない)。
操作方法
- ← — 1マス左に移動
- → — 1マス右に移動
- ↓ — 1マス下に移動(自動落下とは別)
Canvas にフォーカスが当たっていないとキーが拾われません。 Run Java を押せば自動で Canvas にフォーカスします。 効かない時はもう一度 Canvas をクリック。
バグ:画面外に出ていく
左右に動かし続けると、ブロックが盤面の外へ出ていって消えます。 これは故意の仕様で、「境界のチェックを入れないとこうなる」を体感するため。 Step 5 で壁判定を入れて、この挙動を直します。