ちょっと、弾幕について

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

ちょっと、弾幕について

#1

投稿記事 by 蒼空(初心者) » 16年前

ちょっと弾幕について聞きたいのですが、
ボス本体から円状の弾が出て、60カウントで、
20カウント止まって、すべての弾が自機に向かって
飛んでくるって言う弾幕を作りたいのですが、
なぜか、自機に向かってくるとき、
円状のまま向かってくるのです。
ちなみにソースは、龍神録のものを使いさせていただいております。
念のため、ソースも乗せておいて置きます。
void boss_shot_bulletH015(){
#define TM002 650
    int i,k,t=boss_shot.cnt%TM002;
    double angle;

	if(t%60 == 0){
                bullet_way(boss.x, boss.y, 30, bossatan2(), PI/15, 3, 3, 0, 0
		boss_shot.bullet[k].cnt   = 0;
		boss_shot.bullet[k].flag  = 1;
		}
	for(i=0;i < BOSS_BULLET_MAX;i++){
		if(boss_shot.bullet.flag > 0){
			int cnt=boss_shot.bullet.cnt;
		if( cnt == 60  ){
				boss_shot.bullet.spd = 0;
				boss_shot.bullet.angle=bossatan2();
			}
		if( cnt == 80 ){
				boss_shot.bullet.spd= 3;
			}
		}
	}
}

あ、ちなみに「龍神録プログラミングの支館」で「弾幕を簡略化してみる」をしています。

yu

Re:ちょっと、弾幕について

#2

投稿記事 by yu » 16年前

bossatan2();
は自機とボスの角度を出します。

弾と自機の角度を入れれば期待通りになるはずです。


#以下追記

具体的には
bossatan2(); のところを
bossatan3( i , ch.x , ch.y ); に変更してやれば良いです。

後、cntが80のときに角度変更したほうが良いかもしれません。
60から80の20フレーム内で自機が移動するとずれてしまいますよ。

蒼空(初心者)

Re:ちょっと、弾幕について

#3

投稿記事 by 蒼空(初心者) » 16年前

早速、試したところ無事解決できました!

本当にありがとうございました。

閉鎖

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