キャンバス上に一度に複数のオブジェクトがあり、ユーザーがどのオブジェクトに対してジェスチャを実行したかを検出する必要があります。私が考えることができる唯一の方法は、画面を多くのビューに分割し、それぞれで聞くことですが、これはあまり効率的ではないので、できれば各オブジェクトに個別に属する個別のジェスチャー検出器を使用するより良い方法はありますか?
私は一日中これを解決しようとして私の髪を引き裂いてきたので誰かが私を助けてくれるなら私はとても感謝します
キャンバス上に一度に複数のオブジェクトがあり、ユーザーがどのオブジェクトに対してジェスチャを実行したかを検出する必要があります。私が考えることができる唯一の方法は、画面を多くのビューに分割し、それぞれで聞くことですが、これはあまり効率的ではないので、できれば各オブジェクトに個別に属する個別のジェスチャー検出器を使用するより良い方法はありますか?
私は一日中これを解決しようとして私の髪を引き裂いてきたので誰かが私を助けてくれるなら私はとても感謝します
キャンバス上のオブジェクトの位置/ヒットボックスを追跡している場合は、それをMotionEventのRawXおよびRawYの値と比較できます。
@Override
public boolean onDoubleTap(MotionEvent e) {
float e_x = e.getRawX();
float e_y = e.getRawY();
if(e_x > 100 && e_x < 200 && e_y > 400 && e_y < 600){
// do something
}
return true ;
}
これは私がしたことです、ただ座標をチェックしてください