0

これは非常に単純なはずですが、うまくいかないようです。

一度呼び出された後、ブール値の false 値を返すメソッドを作成したいと考えています。

for、while、および switch ステートメントを試しましたが、望ましい効果はありません。

理由: ブール値を変更してゲームの状態をアクティブにするオンタッチ イベントがあります。ユーザーがタッチイベントを保持してゲームの状態を無期限に維持することを避けるために、一定期間後にこの値を false に戻す必要があります。

ゲームループで以下の方法を試し、一定期間後に値を false に戻しました。これは、state activate メソッドが呼び出されると同時に呼び出されます。

private void stateCounter() {
     int count = 100;
       for (int i =0; i < count ; i++) {
       stateBoolean = true;
       }
       stateBoolean = false;

}



private void stateCounter() {
     int count = 1;
       while (count < 100) {
       stateBoolean = true;
       count++;
       }
       stateBoolean = false;

}

これを行う最善の方法は何ですか?

4

1 に答える 1

0

Handler.PostDelayedメソッドを使用して、間隔の後にいくつかのタスクを実行します。例えば

Handler h = new Handler();
h.postDelayed(new Runnable(){
    public void run(){
        // perform your tasks here
    }
},interval);

しかし、1つのことが私には明確ではありません。タッチが完了したとき (つまり、指が上にあるとき) にカウンターを変更しますか? その場合、これを使用できます

yourButton.setOnTouchListener(new OnTouchListener () {
  public boolean onTouch(View view, MotionEvent event) {
    else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
      // call the method now
    }
  }
}
于 2013-05-26T06:46:13.613 に答える