直進→円を描く→直進
と言う風に行えるよう、頑張っていたのですが、躓いたので質問させていただきました。
一応形にはなったのですが、
//CEN_XとCEN_Yは画面の中心
static int act, Angle = -90, R = 200;
//直進
if( act == 0 || act == 2 ){
Enemy[num].X = Enemy[num].X + 10;
Enemy[num].Y = CEN_Y -200;
}
//回転
else if( act == 1 ){
Enemy[num].X = CEN_X + cos( Angle * (PI / 180) ) * R;
Enemy[num].Y = CEN_Y + sin( Angle * (PI / 180) ) *R;
Angle += 2;
}
//敵が中間に来たら回転許可
if( Enemy[num].X >= CEN_X && act == 0 ){
act = 1;
}
//1週したらまた直進にもどる
if( Angle >= 270 ){
act = 2;
}
説明だと分かりにくいと思うので添付画像も参考にしてください。
Y軸のどこから来ても画像のような動きをするようにしたいのです。