[nico]http://www.nicovideo.jp/watch/sm13421567[/nico]
弾幕関数
► スポイラーを表示
void boss_shot_bulletT199(){
int t=boss_shot.cnt%300;
int i,j;
double r,angle;
double x,y;
const double v=3;
const double w=PI2/180;
if(boss_shot.cnt==0){
boss.hp_max=20000;
boss.hp=boss.hp_max;
}
if(t==60){
r=96;
for(i=0;i<3;i++){
for(j=0;j<5;j++){
lazer_on(0,4,2*r*cos(PI/10),0.9,boss.x+r*cos(PI2/5*j-PI+bossatan2()+PI/5*(i-1)),boss.y+r*sin(PI2/5*j-PI+bossatan2()+PI/5*(i-1)),PI2/5*j-PI+bossatan2()+PI/5*(i-1)+PI*9/10,j+1);
se_flag[33]=1;
}
}
}
if(t==120){
r=96;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
lazer_on(0,4,2*r*cos(PI/10),0.9,boss.x+r*cos(PI2/5*j-PI+bossatan2()+PI/5*(i-1.5)),boss.y+r*sin(PI2/5*j-PI+bossatan2()+PI/5*(i-1.5)),PI2/5*j-PI+bossatan2()+PI/5*(i-1.5)+PI*9/10,j+1);
se_flag[33]=1;
}
}
}
if(t==180){
r=96;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
lazer_on(0,4,2*r*cos(PI/10),0.9,boss.x+r*cos(PI2/5*j-PI+bossatan2()+PI/5*(i-2)),boss.y+r*sin(PI2/5*j-PI+bossatan2()+PI/5*(i-2)),PI2/5*j-PI+bossatan2()+PI/5*(i-2)+PI*9/10,j+1);
se_flag[33]=1;
}
}
}
if(t%60==0){
boss_bullet_on(32,10,2,1,boss.x,boss.y,1,0,PI2/32,1,0,0,0,1);
}
if(t==240){
move_boss_pos(64,32,FMX-64,96,32,150);
}
for(i=0;i<LAZER_MAX;i++){
if(lazer[i].flag==1){
//星を構成するレーザーから中心点を求めるための値を計算
r=lazer[i].length/(2*cos(PI/10));
angle=lazer[i].angle+PI/10;
//星の中心位置
x=lazer[i].startpt.x+r*cos(angle);
y=lazer[i].startpt.y+r*sin(angle);
//星を回転させる
lazer[i].startpt.x=x+r*cos(angle+PI+w);
lazer[i].startpt.y=y+r*sin(angle+PI+w);
lazer[i].angle+=w;
//星を移動させる
lazer[i].startpt.x+=v*cos(lazer[i].angle+PI/10-PI2/5*(lazer[i].state-1)-w*(lazer[i].cnt+1));
lazer[i].startpt.y+=v*sin(lazer[i].angle+PI/10-PI2/5*(lazer[i].state-1)-w*(lazer[i].cnt+1));
if(lazer[i].cnt==300){
lazer[i].flag=0;
}
}
}
}
弾幕テスターのリプレイ
[拡張子 zip は無効化されているため、表示できません]
ルナティックのコンティニュー使用クリアです。