只今、龍神録様のコードを応用して横STGを
製作中です。
そこで質問なのですが、龍神録第12章に書かれていたような
敵のコードをどのように弄れば、画面上にて敵キャラが
常に円状にグルグル回っているような軌道を画いてくれるのでしょうか?
因みに下記のものをベースとして考えているのですが、
angを弄っても角度が変わるだけなので何処に
円の計算を入れてよいか判りません;;
//移動パターン7
//停滞してそのまま左上に
void enemy_pattern7(int i){
int t=enemy.cnt;
if(t==enemy.wait){//登録された停滞時間だけして
int r=cos(enemy.ang)< 0 ? -10 : 1;
enemy.vx=-cos(enemy.ang);//左へ
// enemy.vx=0.5;
enemy.vy=-0.1;
enemy.sp=6+rang(2);
enemy.ang=rang(PI/4)-PI*r/5;//上がっていく
enemy.muki=2-2*r;//左向き
}
}
判る方が居られましたら、ご教授の程宜しくお願いします。
敵キャラの動き(円状)について
Re:敵キャラの動き(円状)について
こんにちは。
私も初心者なので人に教える立場ではないんですが、
敵の行動パターンはしっかり勉強しましたので、
私のできる範囲で回答したいと思います。
//=================================================================
//行動パターン11 左上から下へ 途中で円を1回描いて上へ
//=================================================================
これはいま参考に作ったんですが、上から降りてきて1回転して
また上へいくパターンです。
if(t>=60 && t=<540) と if(t>=540) の540に320を足すごとに
回転数が1回増えます。
xとyの初期座標は、x=100, y=-20です。
なお、これは縦シューティングようです。
うまくいくといいんですが。
私も初心者なので人に教える立場ではないんですが、
敵の行動パターンはしっかり勉強しましたので、
私のできる範囲で回答したいと思います。
//=================================================================
//行動パターン11 左上から下へ 途中で円を1回描いて上へ
//=================================================================
void enemy_pattern11(int i){ int t=enemy.cnt; if(t==0) enemy.vy=3.0f; if(t>=60 && t<540){ enemy.vx=sin(PI*(enemy.cnt-60.0f)/160.0f)*2.0f; enemy.vy=sin(PI*(enemy.cnt+20.0f)/160.0f)*2.0f; } if(t>=540){ enemy.vx=0.0f; enemy.vy=-3.0f; } }
これはいま参考に作ったんですが、上から降りてきて1回転して
また上へいくパターンです。
if(t>=60 && t=<540) と if(t>=540) の540に320を足すごとに
回転数が1回増えます。
xとyの初期座標は、x=100, y=-20です。
なお、これは縦シューティングようです。
うまくいくといいんですが。