前回ボスのアニメーションについて質問した者です
今回は敵弾をアニメーションさせようと思ったのですがつまづいてしまいました
イメージとしては東方紅魔郷のパチュリー・ノーレッジが撃ってくる炎弾のような感じです
↓参考動画3:27くらいから
[youtube][/youtube]
うーん…動画サイトの動画だと画質がよくないのでちょっと分かりにくいですね;
そしてコレを再現すべくプログラムを書いてみたのですが上手くいきませんでした
graph.cpp
//弾丸の描画
void graph_bullet(){
int i,j,eff;
double disp_angle;
SetDrawMode( DX_DRAWMODE_BILINEAR ) ;//線形補完描画
for(i=0;i<SHOT_MAX;i++){//敵の弾幕数分ループ
if(shot[i].flag>0){//弾幕データがオンなら
for(j=0;j<SHOT_BULLET_MAX;j++){//その弾幕が持つ弾の最大数分ループ
if(shot[i].bullet[j].flag!=0){//弾データがオンなら
if(shot[i].bullet[j].eff==1){
SetDrawBlendMode( DX_BLENDMODE_ADD, 255) ;
}
if(bullet_info[shot[i].bullet[j].knd].kaiten==1){
disp_angle=PI2*(shot[i].bullet[j].cnt%120)/120;
}else{
disp_angle=shot[i].bullet[j].angle+PI/2;
}
if(shot[i].bullet[j].effanime==1){
if(tamaanicount%8==0){
shot[i].bullet[j].col++;
}
DrawRotaGraphFdF(
shot[i].bullet[j].x, shot[i].bullet[j].y,
1.0, disp_angle,
img_bullet[shot[i].bullet[j].knd][shot[i].bullet[j].col%4],TRUE);
}else{
DrawRotaGraphFdF(
shot[i].bullet[j].x, shot[i].bullet[j].y,
1.0, disp_angle,
img_bullet[shot[i].bullet[j].knd][shot[i].bullet[j].col],TRUE);
}
if(shot[i].bullet[j].eff==1){
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0) ;
}
tamaanicount++;
}
}
}
}
//以下略
というイメージで書いたのですがいざ実行してみるとアニメーションされず
分割ロードしたときの1枚目の画像のまま飛んでいきます
ボスや敵のアニメーションと同じようにやれば上手くいくと思ったのですが…