0

隣り合わせに配置された多数のカスタムシェイプ(4つの座標)を作成しています。ユーザーがいずれかの図形に触れたことを検出し、どの図形に触れたかを判断したいと思います。

私はすでにタッチを登録する方法を知っており、他のアプリで衝突検出を行いました。問題は、ダイヤモンドの形状が「格子」(重なり合わない)に配置されている場合、タッチポイントがxとyの境界内にあるかどうかを簡単に確認できないことです。

基本的に、タッチポイントと比較できる形状を作成するピクセルのリストを生成しようとしています。

誰かが私を助けることができますか?

編集:

ここに画像の説明を入力してください

ドットはユーザーのタッチです。タッチがどのエッジにも接触していないため、オブジェクトの衝突を使用できません。ダイヤモンドを長方形として扱う場合、この例では、プログラムは両方に触れたと見なします。

4

1 に答える 1

1

ポイントがポリゴンの内側にあるかどうかを確認するには、ここで概説されているメソッドのいずれか、または「PNPOLY」アルゴリズムを使用できます。

もちろん、物事を単純にしたい場合は、Farseerとその衝突システムを使用して計算を実行できます(Box2DとFarseerは同じ機能を備えているため、衝突ビット用のBox2Dリンクを提供しました)。複数のPolygonShapesを直接指定して衝突点を取得することもできます。

于 2012-07-16T20:08:06.630 に答える