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++;
}