0

Android アプリの作成方法を学んでいますが、Android で一種の OnMouseMoved イベントを実装する方法がわかりません。

OnTouchListener を使用してみましたが、タッチ、ホールド、移動しても更新されません。別のポイントをタップしたときにのみ更新されます。このような:

public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    thread.getGameState().touch(x);
    return false;
}

私はこれを試しました

@Override
public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    if(event.getAction() == MotionEvent.ACTION_MOVE) {
        thread.getGameState().touch(x);
    }
    return false;
}

しかし、これはタッチしてもまったく反応しません。おそらく、イベントから取得しているポイントは古いポイントであり、新しいドラッグ ポイントではありませんか?

thread.getGameState().touch(x);オブジェクトの x 値を設定します。これにより、ドラッグのようになります。

4

1 に答える 1

0

で true を返しonTouch()て、完全なタッチ イベントを処理することを Android に伝える必要があるため、次の後にイベントを受け取ることができますACTION_DOWN

@Override
public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    if(event.getAction() == MotionEvent.ACTION_MOVE) {
        thread.getGameState().touch(x);
    }
    return true;
}
于 2013-04-30T09:42:07.270 に答える