• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DoJaで押しっぱなしのキー処理)

DoJaで押しっぱなしのキー処理

このQ&Aのポイント
  • DoJaでキー処理を改善する方法
  • 簡単な手順で下方向に移動する方法
  • DoJaプログラミング初心者が下キーを押しっぱなしにする方法

質問者が選んだベストアンサー

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.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();     }   } }  上キーの場合もそのフラグを用意して、実装していけばいいと思います。

azur_verde
質問者

お礼

ご回答、ありがとうございます。 早速、実装してみます。 ああ、そうでした。repaint()抜けていました。

azur_verde
質問者

補足

うまくいきました。 ありがとうございました。

関連するQ&A