龍神録で、雑魚敵に上から降りてきて、自機狙いで特攻させる...という
敵パターンを作りたいのですが、どうやればいいでしょうか?
よろしくお願いします。
龍神録 自機狙いで特攻させる方法を教えてください
Re: 龍神録 自機狙いで特攻させる方法を教えてください
まず。龍神録というプログラムの仕組みを理解してみましょう。
まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。その方向に前進していき。プレイヤーの座標を。何かに代入しておき。そこに向かって弾を発射すれば。それっぽくなると思います
まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。その方向に前進していき。プレイヤーの座標を。何かに代入しておき。そこに向かって弾を発射すれば。それっぽくなると思います
Re: 龍神録 自機狙いで特攻させる方法を教えてください
ありがとうございます。色々と試してみましたが、結構難しいです。
>>まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。
ここを具体的にどうすればいいかいまいち分かりません。
すみませんが、分かる人がいたら、どうかよろしくお願いします。
>>まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。
ここを具体的にどうすればいいかいまいち分かりません。
すみませんが、分かる人がいたら、どうかよろしくお願いします。
Re: 龍神録 自機狙いで特攻させる方法を教えてください
移動成分というのは移動スピードのことでしょう。自機に向かう敵の移動速度です。RON さんが書きました:ありがとうございます。色々と試してみましたが、結構難しいです。
>>まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。
ここを具体的にどうすればいいかいまいち分かりません。
角度は、敵の位置とプレイヤーの位置が分かればatan2()で求められます。
初心者です
Re: 龍神録 自機狙いで特攻させる方法を教えてください
void enemy_pattern0(int i){
int t=enemy[i].cnt;
if(t==0)
enemy[i].vy=3;//下がってくる
if(t==40)
enemy[i].vy=0;//止まる
if(t==40+enemy[i].wait){//登録された停滞時間だけして自機に向かって飛んでくる
double angle=atan2(ch.y-enemy[i].y,ch.x-enemy[i].x);
enemy[i].ang=angle;
enemy[i].sp=7;
}
}
void enemy_pattern0(int i){
int t=enemy[i].cnt;
if(t==0)
enemy[i].vy=3;//下がってくる
if(t==40)
enemy[i].vy=0;//止まる
if(t==40+enemy[i].wait){//登録された停滞時間だけして自機に向かって飛んでくる
double angle=atan2(ch.y-enemy[i].y,ch.x-enemy[i].x);
enemy[i].vx=7*cos(angle);
enemy[i].vy=7*sin(angle);
}
}
atanについてはこのサイトでは特に解説されていないので
検索するなどして調べてください。
sin、cosについてはこちらを参考にどうぞ。
http://dixq.net/g/h_06.html