8方向

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

8方向

#1

投稿記事 by やばさ » 15年前

シューティング系でどうやって8方向にすることができるのですか?

KEYONN_

Re:8方向

#2

投稿記事 by KEYONN_ » 15年前

弾の移動でしょうか?
それとも、自機の移動でしょうか?

一応、両方書きます。

まず、自機の移動から書きます。

キーが押されている角度を求めます。int KeyAngle();//キーの押された角度を求める関数を作る
その後、#define RAD (3.14159265/180)と定義して、
x+=cos(KeyAngle*RAD)*speed;
y-=sin(KeyAngle*RAD)*speed;
とすれば、okです。

弾の移動は、
上、右上、右、右下、下、左下、左、左上とあるのですが、
それぞれ、移動角度を
90°45° 0° 315° 270°225°180°135°とし、
テーブルを作ります。int angle[8]={90,45,0,315,270,225,180,135};
x+=cos(angle[UPRIGHT)*RAD)*speed;
y-=sin(angle[UPRIGHT)*RAD)*speed;
とすればokです。分かりにくい点がありましたら、返信ください。

閉鎖

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