結構カオスです当たり判定
あの手この手で、一応前に進んでいる感じはある。
BOX2Dで用意されてる処理は、簡単にまとめるとこんな感じです
当たった処理
当たっている間の処理
離れた時の処理
この三つを行ってる
この判定は、b2ContactListener
によって行われる
見てもらえればわかるだろうが、引数として(b2ContactPoint *point)
が渡されている。
ちなみに、当たり判定の処理中は
B2Body内でのオブジェクトの生成が不可能になる
ようするに、CreateBody等の処理が不可能になるのである
よって
大きい敵に、弾が当たった瞬間、小さい敵を吹き出すなんて処理は、
当たり判定処理とは別のところで行う必要があるわけだ
そこで、まず、三種の内、どの当たり判定が行われたかどうか、というフラグ作り
それぞれのフラグに応じて、独自の当たり判定後処理を行うようにした。
次に、b2ContactPointをUserData内に保持させて、それを当たり判定後処理に使わせようとしたのだ
が
実際やってみたところ、これでは問題があるということが判明した
Shape1と2が消えている^p^
つまりNULLというか、不定値になっているのだ、ぐぇgヵ
死ね
―――――
で、現在進行中なのは
Shape1と2を同じようにUserDataに持たせようと言うことであった
以下次回へすすむはず…
0 件のコメント:
コメントを投稿