ページ 11

【龍神録】当たり判定について

Posted: 2009年5月14日(木) 05:33
by hal
はじめまして。STGを作りたいけれど、初心者過ぎてイチから作れないので龍神録PGのサイトにお世話になっているhalという者です。
さっそく質問なんですが、当たり判定の部分(out.cpp)についてです。
自機と敵の当たりを判定する関数が無かったので、自分で作ろうと思ったのですが曖昧にしか理解できてない部分が多すぎてお手あげ状態です。
疑問が多くて、続けて書くとごちゃごちゃするので箇条書きにすると



① オーバーフロー処理をしている理由がよくわからない

② ①の処理内でenemy.knd>=ENEMY_RANGE_MAXとしているけれど、敵の種類を増やせばオーバーフローしてしまうから、その場合はどうすればいいのか。単純にENEMY_RANGE_MAXを増やすというのは違うなと思うし・・・

③ 敵の当たり判定範囲は四角、自機ショットの当たり判定は線形だと思うのですが、CRANGEは、自機の当たり判定範囲(2.0×2.0)を表現している、という認識であっているのか



この質問にお答えいただいても、また疑問が湧いて訊き返してしまうかもしれませんが・・・
どうかよろしくお願いします。

Re:【龍神録】当たり判定について

Posted: 2009年5月16日(土) 00:43
by Justy
 このページの話ですか?
ttp://dixq.net/rp/21.html



>オーバーフロー処理をしている理由がよくわからない 。

 万が一異常な値が入っていた場合、直後の処理で配列の外にアクセスしてしまう可能性が
あるから、です。

 kindの型は intなので、本来なら負ではないチェックもしないと片手落ちではありますが。



>敵の種類を増やせばオーバーフローしてしまうから、その場合はどうすればいいのか

 種類が増えたのなら、ENEMY_RANGE_MAXも増やせばいいです。
 もちろんそれに関連する定義(enemy_rangeの初期値とか)も修正が必要になるとは思いますが。



>CRANGEは、自機の当たり判定範囲(2.0×2.0)を表現している、という認識であっているのか

 そんなところです。

Re:【龍神録】当たり判定について

Posted: 2009年5月17日(日) 13:52
by hal
>Justyさん
回答ありがとうございます、説明不足な点すみませんでした。
助かります。