for(b2Contact *iter = world.GetContactList(); iter != NULL; iter = iter->GetNext()){
hitflag = TRUE;
}
オブジェクトに角度をつけなければ前述の衝突判定のコードも問題なく
衝突してればTRUEしていなければFALSEとなります。
しかしオブジェクトに角度をつけると見た目の衝突は角度をつけてなかった時と同じように問題ないのですが
前述の衝突判定のコードの動作がおかしな動きをします。
(以下斜めの地面に四角いオブジェクトが乗っていると思ってください)
\□
\
この場合は判定TRUEで問題ナシ
\ □
\
この場合でも判定TRUEになってしまい問題あり
_____
\ |
\|
 ̄ ̄
どうやらこの矩形の範囲で判定が行われている
\ □
\
つまりここまでハミ出て初めてFALSEになる
※文字での説明で文字ズレが生じていましたら申しわけございません
これを普通に斜めに角度がついたオブジェクト同士でも
しっかり判定結果を返すようにするにはどうすれば良いでしょうか?
見た目の動きはまったく問題はなく、あくまでも前述のように
自力で衝突しているかどうかの判定をすると角度をつけた場合のみ問題が生じます。