4

Inkscapeで編集しているPNG画像があります。不規則なギザギザの形ですが、衝突判定を行う必要があります。大きすぎてその周りに大まかな長方形を作成することはできません(標準の電話画面よりも多くの時間がかかります)。そこで、私はその周りにINkscapeで長方形を描き、これらの長方形のピクセル寸法を書き留めています。

私の意図は、衝突検出にこれらの「架空の」長方形の和集合を使用することです。しかし、私の努力は失敗に終わりました。携帯電話の画像のデフォルトサイズは、Inkscapeのものとは異なるようです。

大きくて不規則なオブジェクトとの衝突検出を行うための最良の方法、および/またはキャンバスビットマップの測定値をそのピクセル(またはmm)の測定値と同じにする方法を知りたいです。

4

1 に答える 1

0

私が提案するのは、値1で衝突領域を定義し、値0(または0と255)で非衝突領域を定義した同等の画像を作成することです。

つまり、表示するカラフルな画像と、ロードする衝突画像の2つの画像が作成されます。

次に、次の方法で衝突エリア内にいるかどうかを検出できます。

Bitmap collision;
collision = BitmapFactory.decodeStream(...yourImage...);
collision.getPixel(x,y)

別の解決策は、衝突画像を後処理して2つの配列を作成することです。これを行うと、元の画像を処理して2行のテキストファイルを作成するJavaアプリケーションを作成できます。最初の行はx座標で、2番目の行はペアのy座標です。 。

次に、Androidアプリケーションでこのファイルを読み取り、xとyがこの配列に存在する場合は、衝突点になります。

于 2011-04-18T10:26:20.783 に答える