double get_angle( double g_angle )
{
return 3.14 / ( 180 / -g_angle );
}
//分度器と同じ要領で角度を計りたい場合はこのほうがいいかも
//マイナスで返さない場合は
//45度が右下、
//90度が真下になる
//使い方としては
double x;
double y;
double angle;
//としたとき、
angle = get_angle( 135 );
//画面左上135度を取得する場合
//とかこんな感じでしょうか。
//たったこんだけの単純なロジックを作るのに
//長い時間をかけた自分ドンマイorz
//弾幕プログラムを書く際は
#define DIR ( 8)
#define SHOT (20)
typedef struct
{
double x;
double y;
double angle;
double range;
short flag;
}shot_t;
shot_t shot[DIR][SHOT];
//だとしたら
//8方向弾発射は
for( int i = 0 ; i < DIR ; i++ ){
for( int j = 0 ; j < SHOT ; j++ ){
shot[i][j].angle = get_angle( 0 + (45*i) );
}
}
//とかやればいいのかな??
//予定としては
//0、45、90、135、180、225、270、315度の方向に弾発射
//できればなぁと
//あとで試してみましょ(*´ω')
角度取得の関数、難しそうだと思ってたのに意外と単純なロジックだったorz
角度取得の関数、難しそうだと思ってたのに意外と単純なロジックだったorz
最後に編集したユーザー せんちゃ on 2010年10月26日(火) 23:36 [ 編集 1 回目 ]
コメントはまだありません。