Androidでは、SurfaceViewを使用して単純な2Dゲームを表示します。ビットマップ(.png)とアルファ(ゲームオブジェクトを表す)がキャンバスに描画されます。AndroidのSurfaceViewのキャンバスでのビットマップによる衝突検出
ここで、簡単で正確な衝突検出を行いたいと思います。これらのビットマップがオーバーラップしているかどうかをチェックするのは簡単です。
しかし、これらのビットマップに透明領域がある場合、どのようにして衝突をチェックするのですか?私の挑戦は、2つのボールが衝突するかどうかを検出することです。それらは幅と高さの両方でビットマップ全体を塗りつぶしますが、4つの辺すべてに四角形の円として透明な領域があります。
ボールがの実際にと衝突した場合にのみ、衝突を検出する最も簡単な方法は何ですか。周辺のビットマップボックスではありませんか?
できるだけ多くのポイントの座標をボールのアウトラインに格納する必要がありますか? Androidは衝突をチェックする際にアルファチャンネルを「無視する」ことができますか?
ありがとうございます!ボールの例では、これはおそらく完璧な解決策です。より一般的な解決策(ピクセル単位の検出など)に感謝するつもりだが、これは私のせいだ。 – caw