2

私は単純なゲームに取り組んでいます。ユーザーが画面に触れている間、いくつかの変数をインクリメントします。そうでない間は、何もしません。surfaceView onTouchEvent を使用していますが、一度しか呼び出されないため機能しません。どうすればそのような機能を実現できますか?

@Override
public boolean onTouchEvent(MotionEvent event) {
    vehicle.vel_y -=0.2f;
    return super.onTouchEvent(event);
}
4

2 に答える 2

2

onTouchEvent メソッドに渡されるMotionEventについて読んでください。具体的には、 と を見てACTION_DOWNくださいACTION_UP。ポインターが画面に触れたときと画面から離れたときに、モーション イベントを受け取る必要があります。

それ以上に楽しいのは、ACTION_DOWNACTION_UPイベントの間の進行状況を記録する方法を見つけることです (=

ヒントが必要な場合は、次を参照してください。

ハンドラを使用してイベントを繰り返す

于 2012-11-14T08:13:05.780 に答える
0

XML レイアウト ファイルで、SurfaceView の longClickable プロパティを true に設定する必要があります。

android:longClickable="true"
于 2012-11-14T07:49:10.397 に答える