タイトルのようなオプションを実装したいのですが、全く分かりません。
(数カ月ぶりにプログラミングをやるので色々マヒしてます;)
具体的には、地霊殿の霊夢-射命丸のオプションのような動作をするもののうち、
進行方向に向かって移動するオプションです。
どういった感じでやればいいでしょうか?
自機と一定距離を保って移動するオプション
Re:自機と一定距離を保って移動するオプション
> ftさん
こんにちは。
射命丸のオプションは過去に動いた方向に発射するものですよね。
それならば、過去の座標を覚えておいて、現在の座標との角度を計算すればいいのではないでしょうか?
atan2関数で2つの座標から角度が計算出来ます。
こんにちは。
射命丸のオプションは過去に動いた方向に発射するものですよね。
それならば、過去の座標を覚えておいて、現在の座標との角度を計算すればいいのではないでしょうか?
atan2関数で2つの座標から角度が計算出来ます。
Re:自機と一定距離を保って移動するオプション
はい、発射する方向はそのようにできると思うのですが、
オプションの動き方がうまく出来なくて困っています;
自機を中心として円を描くようにして動くオプションの実装方法がよくわからないのです。
実は正確には、操作しないときはオプションはボス方向に向かうようになり、
操作時は進行方向へ向かう動作を実装しようかと思ってます。
先程は地霊殿の~と言いましたが、正確には文花帖で射命丸の周囲に浮遊している十字マークの動作を目指しています。
オプションの動き方がうまく出来なくて困っています;
自機を中心として円を描くようにして動くオプションの実装方法がよくわからないのです。
実は正確には、操作しないときはオプションはボス方向に向かうようになり、
操作時は進行方向へ向かう動作を実装しようかと思ってます。
先程は地霊殿の~と言いましたが、正確には文花帖で射命丸の周囲に浮遊している十字マークの動作を目指しています。
Re:自機と一定距離を保って移動するオプション
こんなニュアンスでしょうか?
double px,py; // 自機の座標
double ox,oy; // オプションの座標
double t; // オプションの角度
double r; // 自機とオプションの距離
ox=r*cos(t)+px;
oy=r*sin(t)+py;
あと、専門用語(?)はなるべく少なくしたほうが回答が集まりやすいと思いますよ。
double px,py; // 自機の座標
double ox,oy; // オプションの座標
double t; // オプションの角度
double r; // 自機とオプションの距離
ox=r*cos(t)+px;
oy=r*sin(t)+py;
あと、専門用語(?)はなるべく少なくしたほうが回答が集まりやすいと思いますよ。
Re:自機と一定距離を保って移動するオプション
遅れてすみません。
お陰で自機を中心として円を描く動作が得られました。
自機-ボス、自機-オプションの2つの角度を出して、
次第に角度差を縮めていくという風にして実装を試みたいと思います。
とりあえず最初の問題がクリアできたため解決ということにしたいと思います。
ありがとうございました。
お陰で自機を中心として円を描く動作が得られました。
自機-ボス、自機-オプションの2つの角度を出して、
次第に角度差を縮めていくという風にして実装を試みたいと思います。
とりあえず最初の問題がクリアできたため解決ということにしたいと思います。
ありがとうございました。