龍神録プログラミングの館16章について
Posted: 2010年11月03日(水) 13:52
開発環境はDev-C++4.9.9.2、コンパイラはデフォルトです。
DXライブラリを使わないように龍神録を移植しようとしています。
龍神録プログラミングの館16章の「ミシャグジさま弾幕を作ってみよう」ですが、
19章の「敵の消滅エフェクトを作ってみよう」まで組み込んだ状態で実行すると、
敵が消えた後、弾は出ずに弾の発射音だけ出るようです。
下のソースに変えてみると、改善されました。
管理人さん、もしよろしければ確認をお願いします。
DXライブラリを使わないように龍神録を移植しようとしています。
龍神録プログラミングの館16章の「ミシャグジさま弾幕を作ってみよう」ですが、
19章の「敵の消滅エフェクトを作ってみよう」まで組み込んだ状態で実行すると、
敵が消えた後、弾は出ずに弾の発射音だけ出るようです。
下のソースに変えてみると、改善されました。
管理人さん、もしよろしければ確認をお願いします。
//ミシャグジさま
void shot_bullet_H008(int n){
int t=shot[n].cnt;
int k;
//if(t>=0 && t<1200 && t%90==0){
if(t>=0 && t<1200 && t%90==0 && shot[n].flag!=2){
double angle=rang(PI);
for(int j=0;j<2;j++){//途中から2分裂する分
for(int i=0;i<60;i++){//一度に60個
//if(shot[n].flag!=2 && (k=shot_search(n))!=-1){
if((k=shot_search(n))!=-1){
shot[n].bullet[k].knd =8;//8番の弾
shot[n].bullet[k].angle =angle+PI2/60*i;//円形60個
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 =4;//4番の色
shot[n].bullet[k].cnt =0;
shot[n].bullet[k].state =j;//ステータス。0か1かで回転がかわる
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 state=shot[n].bullet.state;
int cnt=shot[n].bullet.cnt;
if(30<cnt && cnt<120){//30~120カウントなら
shot[n].bullet.spd-=1.2/90.0;//90カウントかけて1.2減らす
shot[n].bullet.angle+=(PI/2)/90.0*(state?-1:1);//90カウントかけて90°傾ける
}
}
}
}