ホーミング弾の角度について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ft

ホーミング弾の角度について

#1

投稿記事 by ft » 15年前

こんばんは。
ホーミング弾の動作ですが、
サンプルのままですと敵を見つけた瞬間、自機ショットは敵に向かって行きますよね?
これを数カウント掛けて敵へ向くことで、なだらかな弧を描きながら角度を変えたいのですが、
どのようにしたらいいでしょうか?
if(cshot[k].angle!=atan2f(y,x))
cshot[k].angle+=atan2f(y,x)/20;
のような感じにして、20ループかけて敵へ向かうという方法が思い付いたのですが、
弾はクルクル回ったりして変な動きをし始めます。
恐らくatan2f(y,x)/20としているので、
cshot[k].angle==atan2f(y,x)にならないためだと思っているのですが…
何か上手く処理する方法はないでしょうか?

Justy

Re:ホーミング弾の角度について

#2

投稿記事 by Justy » 15年前

 毎フレーム弾から敵方向の角度と弾の進行方向の角度との差を出して、
それを等分割するなり係数を掛けた角度を現在の角度に足せば少しずつ敵に向くと思います。

ft

Re:ホーミング弾の角度について

#3

投稿記事 by ft » 15年前

できました、ありがとうございます!

閉鎖

“C言語何でも質問掲示板” へ戻る