直線と円の当たり判定がわからないので質問させて頂きました。
前提として龍神録のようなシューティングゲームです。
・弾の判定が一瞬で、描画せず、射撃後すべての当たり判定を総当りして直線上にある一番近いキャラクターにダメージが入る
という関数を実装したいのですが、どうしたらいいでしょうか?
X,Yは自分のキャラの座標 角度は射撃した角度で
Character_tは配列Enemyのアドレスを渡しています。
Character_t構造体はそのままEnemy.x、Enemy.yという感じです。
void JudgeBlast(int X,int Y,double Angle,Character_t* Enemy){
int NearEnemy;//最も近い敵の番号
for(int i=0;i<MAXENEMY;i++){
}
EnemyDamageBlast(NearEnemy);
}
ですが、座標と角度から円の当たり判定がわからないです。
このような解説サイトも見たのですが
http://www004.upp.so-net.ne.jp/s_honma/ ... stance.htm
座標と角度から・・・というのがやはりよくわかりません。
どういう計算を入れたらいいでしょうか?