龍神録 自機狙いで特攻させる方法を教えてください

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
RON

龍神録 自機狙いで特攻させる方法を教えてください

#1

投稿記事 by RON » 4年前

龍神録で、雑魚敵に上から降りてきて、自機狙いで特攻させる...という
敵パターンを作りたいのですが、どうやればいいでしょうか?
よろしくお願いします。

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: 龍神録 自機狙いで特攻させる方法を教えてください

#2

投稿記事 by プラム » 4年前

まず。龍神録というプログラムの仕組みを理解してみましょう。

コード:


//敵に関する構造体
typedef struct{

	int flag,cnt,pattern,muki,knd,hp,hp_max,item_n[6],img,back_col;  //フラグ、カウンタ、移動パターン、向き、敵の種類、HP最大値、落とすアイテム、背景色
	
        double x,y,vx,vy,sp,ang;	//座標、速度x成分、速度y成分、スピード、角度

	int bltime,blknd,blknd2,col,state,wtime,wait;	//弾幕開始時間、弾幕の種類、弾の種類、色、状態、待機時間、停滞時間

}enemy_t;

まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。その方向に前進していき。プレイヤーの座標を。何かに代入しておき。そこに向かって弾を発射すれば。それっぽくなると思います

RON

Re: 龍神録 自機狙いで特攻させる方法を教えてください

#3

投稿記事 by RON » 4年前

ありがとうございます。色々と試してみましたが、結構難しいです。
>>まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。
ここを具体的にどうすればいいかいまいち分かりません。
すみませんが、分かる人がいたら、どうかよろしくお願いします。

Rittai_3D
記事: 522
登録日時: 6年前

Re: 龍神録 自機狙いで特攻させる方法を教えてください

#4

投稿記事 by Rittai_3D » 4年前

RON さんが書きました:ありがとうございます。色々と試してみましたが、結構難しいです。
>>まず。角度と。移動成分をプレイヤー座標に向けるような処理をしましょう。
ここを具体的にどうすればいいかいまいち分かりません。
移動成分というのは移動スピードのことでしょう。自機に向かう敵の移動速度です。
角度は、敵の位置とプレイヤーの位置が分かればatan2()で求められます。
初心者です

アバター
Tatu
記事: 445
登録日時: 9年前
住所: 北海道

Re: 龍神録 自機狙いで特攻させる方法を教えてください

#5

投稿記事 by Tatu » 4年前

コード:

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

閉鎖

“C言語何でも質問掲示板” へ戻る