3方向ショット5発(15°)(減速)
void shot_bullet_H000(int n){
int t=shot[n].cnt;
int k;
if(t>=0 && t<100 && t%20==0){
double angle=shotatan2(n);
for(int i=0;i<3;i++){
if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
shot[n].bullet[k].knd =enemy[shot[n].num].blknd2;
shot[n].bullet[k].angle =angle+PI/12*i-PI/12;
shot[n].bullet[k].flag =1;
shot[n].bullet[k].x =enemy[shot[n].num].x;
shot[n].bullet[k].y =enemy[shot[n].num].y;
shot[n].bullet[k].col =enemy[shot[n].num].col;
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].spd =2;
}
se_flag[0]=1;
}
for(int i=0;i<SHOT_BULLET_MAX;i++){
if(shot[n].bullet.flag>0){
int cnt=shot[n].bullet.cnt;
if(30<cnt && cnt<80){
shot[n].bullet.spd-=1.2/50.0;
}
}
}
}
}
という弾幕を作ってみたのですが、どうもうまくいきません。
ミシャグジさま弾幕(16章)を参考にしたり、龍神録プログラミングの支館(減速ショット・減速しすぎるショット)を参考にしたりしたのですが、減速せずにスピードが2のまま弾が進みます。
分かりにくいのかと思い、「弾速を2、減速を4」などでやってみても、やはりうまくいきませんでした。
どうすればよいのでしょうか、お願いします。
減速弾
Re:減速弾
どの様な動きをイメージされているのか分からないので違う形になってしまうかもしれませんが
ちょっと書き換えてみました。(テストしてないので変わらないかもしれません^^;
ちょっと書き換えてみました。(テストしてないので変わらないかもしれません^^;
void shot_bullet_H000( int n ) { int t = shot[n].cnt; int k; if( t >= 0 && t < 100 && t%20 == 0 ) { double angle = shotatan2(n); for( int i = 0; i < 3; i++ ) { if( shot[n].flag != 2 && ( k = shot_search(n) ) != -1 ) { shot[n].bullet[k].knd = enemy[shot[n].num].blknd2; shot[n].bullet[k].angle = angle+PI/12*i-PI/12; shot[n].bullet[k].flag = 1; shot[n].bullet[k].x = enemy[shot[n].num].x; shot[n].bullet[k].y = enemy[shot[n].num].y; shot[n].bullet[k].col = enemy[shot[n].num].col; shot[n].bullet[k].cnt = 0; shot[n].bullet[k].spd = 2; } se_flag[0] = 1; } } for( int i = 0; i < SHOT_BULLET_MAX; i++ ) { if( shot[n].bullet.flag > 0 ) { int cnt = shot[n].bullet.cnt; if( cnt > 30 && cnt < 80 ) { shot[n].bullet.spd -= 1.2/50; } } } }