龍神録プログラミングの館45章で詰まってしまいました・・・
上記アドレスの動画だと、ボムを使ったり、ボスを撃破した瞬間に画面が揺れるのですが、
ボム使用時は画面がちゃんと揺れるのですが、ボスを倒した時に画面が揺れてくれません。
上記アドレスのenter_dn()関数の中にsizeとtimeの値がきちんと入っているのは、ボム使用時もボス撃破時もprintfDx関数で確認しました。
dn_calc()関数の中身も、ボム時もボス撃破時共に数字を確認しましたが、dn.flag、dn.x、dn.y、dn.cntも正常値でした。
ボム時もボス撃破時もdn.flagには1が入っています。
画面の揺れを表示する関数が
void graph_effect(int knd){
for(int i=0;i<EFFECT_MAX;i++){
if(effect[i].flag>0 && effect[i].knd==knd){ // ①
if(effect[i].eff==1)//エフェクトが光エフェクトなら
SetDrawBlendMode( DX_BLENDMODE_ADD, effect[i].brt) ;
if(effect[i].eff==2)//エフェクトがαエフェクトなら
SetDrawBlendMode( DX_BLENDMODE_ALPHA,effect[i].brt);
//printfDx("%d ",knd); //ボス倒した時はここ通ってない
//dnはボムがヒットした場合の揺れ幅
DrawRotaGraphF(float(effect[i].x+FX+dn.x),float(effect[i].y+FY+dn.y),effect[i].r,effect[i].ang,effect[i].img,TRUE);
if(effect[i].eff==1 || effect[i].eff==2)
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0) ;
}
}
}ボス撃破時は①の条件を抜けられず、DrawRotaGraphF関数を通っていませんでした。
そこで、とりあえず ① の条件式を外して、このDrawRotaGraphF関数を通したのですが、
それでも画面が揺れず、他にどうすればいいのか分からず今に至ります。
原因に心当たりのある方がおられましたらよろしくお願いします・・・