まず構造体のメンバ変数は
有無を表す flag
時間を表す cnt
位置を表す x,y
速度を表す spd,angle,vx,vy
状態を表す state
とする。
構造体の型の名前はjin_tとする。child(龍神録プログラミングの館)やassist(支館)
という名前は既に使われているので魔法陣の陣から。
struct.hに以下を追加
CODE:
//魔法陣アシストに関する構造体
typedef struct{
int flag;
int cnt;
double x,y;
double spd,angle,vx,vy;
int state;
}jin_t;
ボスの弾幕で使いたいので
boss_shot_tに追加する。
この時に最大数はJIN_MAXとし、
define.hにその定義を入れておく。
define.hに以下を追加
CODE:
//魔法陣アシスト最大数
#define JIN_MAX 64
struct.hの以下を変更
CODE:
//ショットに関する構造体
typedef struct{
//フラグ、種類、カウンタ、どの敵から発射されたかの番号、色
int flag,knd,cnt,num;
//ベース角度、ベーススピード
double base_angle[10],base_spd[1];
bullet_t bullet[BOSS_BULLET_MAX];
jin_t jin[JIN_MAX];
}boss_shot_t;
魔法陣の画像はeback.pngを使い、この画像のハンドルはimg_etc[3]とします。
load.cppのload()に以下を追加
CODE:
img_etc[3] = LoadGraph( "../dat/img/enemy/eback.png" );
そして回転するようにしながら描画していく。このときに回転する弾の描画処理
を参考にしました。
graph.cppに以下を追加
CODE:
//魔法陣アシストの描画
void graph_jin(){
int i;
double disp_angle;
for(i=0;iFMX+50
|| boss_shot.jin[i].yFMY+50)
boss_shot.bullet[i].flag=0;
}
}
さらに追加
CODE:
int search_jin(){
int i;
for(i=0;i180){
boss_shot.jin[i].flag=0;
}
}
}
}