SDLライブラリを使用してC++でキャバールを作成しています。カバールは、プレーヤーが画面の下に座ってx方向にのみ移動できるゲームです。敵が前に現れてミサイルを撃ちます。ゲームはこのようなビットです。C++ SDLゲームのロケット曲率
私はロケットが緑色で示した軌道を取りたいです。曲がった軌道。しかし、それは赤で示されている軌道を取ります。プレーヤーが動いているので、弾道が固定されていないことに注意してください。
私がこれまで実施してきたコード
はこれです:PlayerXはプレイヤーのX座標であり、Xは、ロケットのX座標であるvoid Missiles::Move(int playerX)
{
angle =atan(playerX - X);
X=X + sin(angle)*2;
}
。私は一定の速度で変化するようにY座標を作りました、従って私はコードにそれらを示していません。
垂直方向と水平方向のコンポーネントで構成されて?問題(したがって答え)は全く同じではなく、あなたの質問はそれについてはかなり不明です。 – Zouch
また、ミサイルがいつでもプレイヤーを指差しているか、それに向かうのに何らかの遅れがあるかどうかを確認する必要があります。 – Zouch