変数名などでhagoromoを用いていますがこれは龍神録プログラミングの館からプロジェクトを
ダウンロードした段階では翼を表示するフラグにあたる変数がhagoromoだったことによります。
このページの内容は以下の4つから構成されています。
1.翼の画像の準備
2.翼を使うかの判断
3.翼の描画
4.翼の当たり判定
なお、扇との切り替えはここでは扱いません。
1.翼の画像の準備
まずは画像を用意します。DrawModiGraphをつかうのでサイズはそれほど気にしなくても大丈夫です。
翼や扇の画像はないので自分で用意してください。面倒なら他の画像を使っても問題ありません。
GV.h
CODE:
GLOBAL int img_hagoromo;//翼の画像
load.cppのload()に以下を追加
CODE:
img_hagoromo = LoadGraph( "../dat/img/enemy/hagoromo.png");
2.翼を使うかの判断
最初に、体力などと同様に翼などをつかうかのフラグをまとめたデータを
hagoromo_flag[DANMAKU_MAX]={0,0,0,1,....};
1なら使う、0なら使わない。
というようにすることを考えました。
しかし、この方法は弾幕の差し替え時に手間が増えるだけのような気がします。
翼のフラグは他のデータと異なり、弾幕開始時にわかればよいということから
弾幕関数の最初にif(boss_shot.cnt==0) boss.hagoromo=1;
などとつけることにより、翼を表示させるようにします。
3.翼の描画
さて、翼の描画を行います。画像が変形するので
DrawModiGraphを使ってやるとよさそうです。
また、四聖龍神録ではボスの後ろにあるエフェクトを
翼表示時に四角と当たり判定の目安となる魔法陣しか表示していません。
以上を考慮して
graph.cppのgraph_boss_effectを以下のものに変更します。
CODE:
void graph_boss_effect(){
if(boss.hagoromo==1){//翼があったら
if(boss_shot.cnt60){
boss_shot.bullet[i].vy+=0.02;
boss_shot.bullet[i].x+=boss_shot.bullet[i].vx;
boss_shot.bullet[i].y+=boss_shot.bullet[i].vy;
}
boss_shot.bullet[i].angle=atan2(boss_shot.bullet[i].vy,boss_shot.bullet[i].vx);
}
}
}