BOSS_BULLET_MAXのループを減らしたいのですが上手くいきません。具体的には弾の座標や当たり判定は計算されているようですが、弾の描画がされない状態です。
無理矢理くっつけてますが以下がコードです。graph_bullet()の該当部分はコメントアウトしています。
//ボスの弾幕を計算する void boss_shot_calc(){ int i,eff; boss.endtime--; if(boss.endtime<0) boss.hp=-1; for(i=0;i<BOSS_BULLET_MAX;i++){ if(boss_shot.bullet.flag>0){ boss_shot.bullet.x+=COS(boss_shot.bullet.angle)*boss_shot.bullet.spd; boss_shot.bullet.y+=SIN(boss_shot.bullet.angle)*boss_shot.bullet.spd; boss_shot.bullet.cnt++; if(boss_shot.bullet.x<40 || boss_shot.bullet.x>300|| boss_shot.bullet[i].y<-20 || boss_shot.bullet[i].y>280) boss_shot.bullet[i].flag=0; } /****graph_bullet()からコピペ*****/ //ボス if(boss_shot.flag>0){//弾幕データがオンなら // for(j=0;j<BOSS_BULLET_MAX;j++){//その弾幕が持つ弾の最大数分ループ if(boss_shot.bullet[i].flag!=0){//弾データがオンなら eff=0; if(boss_shot.bullet[i].eff_detail==1){//風雨にも負けず用弾エフェクト SetDrawBlendMode( DX_BLENDMODE_ADD, 100+GetRand(155)),eff=1 ; DrawRotaGraphF( boss_shot.bullet[i].x+FIELD_X+dn.x, boss_shot.bullet[i].y+FIELD_Y+dn.y, 0.9f, boss_shot.bullet[i].angle+1.5707963267948966192313216916395f, img_bullet[boss_shot.bullet[i].knd][boss_shot.bullet[i].co[/url],TRUE,0); } if(boss_shot.bullet[i].eff==1) SetDrawBlendMode( DX_BLENDMODE_ADD, 255),eff=1 ; DrawRotaGraphF( boss_shot.bullet[i].x+FIELD_X+dn.x, boss_shot.bullet[i].y+FIELD_Y+dn.y, 0.9f, boss_shot.bullet[i].angle+1.5707963267948966192313216916395f, img_bullet[boss_shot.bullet[i].knd][boss_shot.bullet[i].co[/url],TRUE,0); if(eff==1) SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0) ; } // } } /****graph_bullet()からコピペ*****/ } boss_shot.cnt++; }