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