- ベストアンサー
DoJaで押しっぱなしのキー処理
- DoJaでキー処理を改善する方法
- 簡単な手順で下方向に移動する方法
- DoJaプログラミング初心者が下キーを押しっぱなしにする方法
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 DoJaは作ったことないので、たぶんこんなだろうという感じですが、 まず、下キーが押されているかを表すフラグを用意します。 private boolean downKeyIsPresed; あと、こんな TimerListener を持つ、Timer を用意しておきます。 この Timer のインターバルがカーソルの動く速度に関係してきます。 public void timerExpired(Timer source) { if (downKeyIsPresed) { focused++; if (focused > 10) focused = 0; //repaintがいるんじゃないかな。 repaint(); } } イベント処理では、フラグの状態だけを変え、タイマーをスタートさせたり、止めたりします。 public void processEvent(int type, int param) { if (type == Display.KEY_PRESED_EVENT) { if (param == Display.KEY_DOWN) { downKeyIsPresed = true; //タイマーをスタートさせる。 timer.start(); } } else if (type == Display.KEY_RELEASED_EVENT) { if (param == Display.KEY_DOWN) { downKeyIsPresed = false; //タイマーを止める。 timer.stop(); } } } 上キーの場合もそのフラグを用意して、実装していけばいいと思います。
お礼
ご回答、ありがとうございます。 早速、実装してみます。 ああ、そうでした。repaint()抜けていました。
補足
うまくいきました。 ありがとうございました。