弾幕名の表示

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

弾幕名の表示

投稿記事 by Tatu » 14年前

今回は弾幕名を表示する処理について書きます。

まず、弾幕名を記録する変数を用意します。


struct.hのboss_tに以下を追加

CODE:

	//弾幕名
	char danmaku_name[DANMAKU_MAX][100];
ini.cppに以下を追加

CODE:

//boss.danmaku[DANMAKU_MAX][100]の初期化に利用
char dan_name[DANMAKU_MAX][100]=
{"-テ-",
"-ス-  パーフェクトフリーズ",
"-ト-  サイレントセレナ",
"-ダ-  ケロちゃん",
"-ヨ-  反魂蝶",
"--",
};
ini()に以下を追加

CODE:

	//弾幕名の設定
	for(int i=0;i120){
			SetDrawBlendMode(DX_BLENDMODE_ALPHA,300-(boss.wtime-120)*10);
		}
		DrawRotaGraph(FX+FMX-boss.wtime,FY+100,1,0,img_last,TRUE);
		DrawRotaGraph(FX+boss.wtime,FY+FMY-100,1,0,img_last,TRUE);
		if(boss.wtime120){
			SetDrawBlendMode(DX_BLENDMODE_NOBLEND,0);
		}
		SetDrawArea(0,0,640,480);
		//赤く光らせる
		if(boss.wtime0){
		DrawFormatStringToHandle(240,0,color[5],font[1],"%d",boss.set_hp[boss.knd]);
	}
	else{
		DrawStringToHandle(240,0,"∞",color[5],font[1]);
	}
}
耐久弾幕のとき、HPは∞と表示させています。
このとき、boss.set_hpは0以下とし、
ちゃんと動くように弾幕セット関数にも変更を加えます。

boss_shot.cppのenter_boss_shot()の以下を変更

CODE:

	//HP設定
	if(boss.set_hp[boss.knd]>0){
		boss.hp=boss.set_hp[boss.knd];//HP設定
	}
	else{//耐久弾幕なら体力を大きく
		boss.hp=999999999;
	}
	boss.hp_max=boss.hp;
弾幕中の弾幕名表示は
graph_board()のボスがいるときの処理に以下を追加

CODE:

		//弾幕中の弾幕名表示
		if(boss.state==2){
			DrawStringToHandle(FX,30,boss.danmaku_name[boss.knd],color[0],font[0]);
		}
これで弾幕名の表示ができたはずです。

コメントはまだありません。