で、ノードというものを使用してレーザー弾をチルチルさんが作成されておられますが、
これはどういう風に導入すればいいのでしょうか?
shotH.cppの中のvoid shot_bullet_H014(int n)などに直接書いても、エラーがでてしまうので教えて頂けないでしょうか?
あと、これを通常弾で再現したいと思い、通常弾用のsin波ショットのコードを作成したのですが
角度がPI/2の時だけしか再現できませんでした。bossatan2()を使用すると敵の横に移動すると弾が固まってしまいます。
//弾発射関数 void boss_bullet_on(int way,int knd,int col,double x,double y,double b_angle,double d_angle,double spd,int state,int till,int eff=0,int sflag=1){ int i,k; for(i=0;i<way;i++){ if((k=search_boss_shot())!=-1){ boss_shot.bullet[k].knd = knd;//弾の種類 if(knd==7) boss_shot.bullet[k].kaiten=1; else boss_shot.bullet[k].kaiten=0; boss_shot.bullet[k].col = col;//弾の色 boss_shot.bullet[k].flag = 1; boss_shot.bullet[k].cnt = 0; boss_shot.bullet[k].x = x;//座標 boss_shot.bullet[k].y = y; boss_shot.bullet[k].angle = b_angle+d_angle*(i - way/2);//角度:bが基準、dが間隔 boss_shot.bullet[k].spd = spd;//スピード boss_shot.bullet[k].state = state;//弾の状態 boss_shot.bullet[k].till = till;//弾が画面外に出ても消えない時間 boss_shot.bullet[k].eff = eff;//加算ブレンドするか否か boss_shot.bullet[k].size = 3; if(sflag==1)se_flag[0]=1; } } } void boss_shot_bulletH012(){ int i,t=boss_shot.cnt%100; static double x = boss.x; //double x,y,ang; if(t==0){ //boss_shot.base_angle[0]=rang(PI2); } if(t<45 && t%4==0){ //ang=boss_shot.base_angle[0]+t*PI2/45; boss_bullet_on(1,8,6,boss.x,boss.y,PI/2,0,4,0,0); } for(i=0;i<BOSS_BULLET_MAX;i++){ if(boss_shot.bullet.flag==1){ boss_shot.bullet.x = cos(PI2/360*boss_shot.bullet.y)*30 + x; } } }
何か手掛かりを教えて頂けないでしょうか・・・?