0

私は、ユーザーがそこに入る障害物をかわす必要があるAndroid用の単純な横スクロールアプリを作成しています。現在、ユーザーは画面をタップしてジャンプし、これはonTouchEvent()メソッドによって検出されます。問題は、ユーザーが繰り返しタップした場合です画面でキャラクターが上下にジャンプし、ユーザーがタップした回数だけこれを繰り返します。アプリがユーザーの最初のタップのみを受け入れるようにすることはしません。助言がありますか?

4

3 に答える 3

2

タップを読み取ると、タップ応答 (ジャンプ) が進行中であることを示すフラグを設定します。フラグ条件が真の間、タップ イベントを受け入れて破棄します。次のジャンプの準備ができたら、フラグをクリアします。最も簡単な方法は、おそらくシステム クロック時間を保存し、ジャンプの期間を知ることです。ただし、たとえばジャンプ アニメーションの最後に到達するなど、他の基準を使用することもできます。

于 2012-05-01T20:12:12.840 に答える
0

完全なイベントが発生するまで処理済みフラグを作成し、再度入力できるようにします。

すなわち。

bool beingHandled = false;
onTouch(){
  if (beingHandled)
    return;
  beingHandled = true;
  //code  .... ///
  beingHandled = false;  
}
于 2012-05-01T20:11:32.110 に答える
0

最後のプレスを追跡する onTouchEvent() メソッドで静的変数を維持し、十分な時間が経過した場合にのみ characterJump() 関数を呼び出します。いくつかの変数を使用することもできます...最後の characterJump() 呼び出しからの時間と最後のタッチイベントからの時間で、複数回押した後にジャンプできるようにします。

于 2012-05-01T20:13:19.613 に答える