1

私はAndroid用のミニゲームに取り組んでいます。クリックしているボタンをクリックして押したままにすると、一定の間隔でイベントがトリガーされるはずです。

public boolean onKeyDown(int keyCode, KeyEvent msg) {
    if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
        moveLeft();
        return (true);
    }

    if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
        moveRight();
        return (true);
    }
}

このコードは、シミュレーターとキーボードの矢印を使用している場合に機能します。また、レイアウトに2つのボタンを配置し、ボタンが時間間隔でタッチされたときにオブジェクトが左または右に移動するのと同じ効果が必要です。どうやってやるの ?

4

1 に答える 1

2

何のボタン?Androidフォンには左右のボタンがありません。

とにかく、それを行う最善の方法は、ゲームがどのように構築されているかによって異なります。おそらく、postDelay またはスレッドのいずれかを使用する必要があります。

おそらく、キーが押されたときに true に設定され、キーが押されたときに false に設定されるブール値を設定してから、キーが押されたときに postDelay を実行することができます。

new Handler().postDelayed(new Runnable(){
        public void run(){
          if (movingLeft) //your boolean
              moveLeft();
        }
    },1000); //time interval in milliseconds

それを強制終了することを忘れないでください。何千ものハンドラーを実行したくありません..私はゲームのプログラミングの経験がまったくありません..それが役立つことを願っています.

于 2011-11-21T17:34:13.120 に答える