ページ 1 / 1
8方向
Posted: 2009年11月11日(水) 23:10
by やばさ
シューティング系でどうやって8方向にすることができるのですか?
Re:8方向
Posted: 2009年11月12日(木) 13:03
by KEYONN_
弾の移動でしょうか?
それとも、自機の移動でしょうか?
一応、両方書きます。
まず、自機の移動から書きます。
キーが押されている角度を求めます。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です。分かりにくい点がありましたら、返信ください。