この弾幕はボスを中心に弾が円運動をし、かつそれが拡大していくというものです。
しかし、円の半径が160を越えたあたりから弾が消えてしまうのです。
三角関数には、あまり大きな値を掛けてはいけないのでしょうか
void boss_shot_bulletH012(){
#define TM012 600
int i,k,t=boss_shot.cnt%TM012,t2=boss_shot.cnt;
double angle;
if(t%200==0){
angle=bossatan2();//自機とボスとの成す角
for(i=0;i<60;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 4;//弾の色
boss_shot.bullet[k].x = 0;//座標
boss_shot.bullet[k].y = 0;
boss_shot.bullet[k].knd = 3;//弾の種類
boss_shot.bullet[k].angle = 0;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 0;//スピード
se_flag[0]=1;
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet.flag>0){
boss_shot.bullet.x = boss.x+cos(PI2/60*i+boss_shot.bullet.cnt)*boss_shot.bullet.cnt;
boss_shot.bullet.y = boss.y+sin(PI2/60*i+boss_shot.bullet.cnt)*boss_shot.bullet.cnt;
boss_shot.bullet.angle = bossatan3(i,boss.x,boss.y)+PI;
}
}
} 