ページ 11

弾幕の管理

Posted: 2010年9月10日(金) 02:55
by
VC++をやり始めて半年で今シューティングゲームを作っています。
弾を敵から出すことに成功したのはいいんですが5wayショットなどをしたら
int shot1~5と5つ用意して、そのint5つ分のDrawTexture(画像)を用意して
当たり判定を作ろうと思ったときに、5つ作らなきゃいけないことに気がついて困っています。
弾幕の管理はどうすればいいのでしょか?

当たり判定は
if(abs(敵の弾X - 自機X) <弾の画像のサイズ && abs(敵の弾Y - 自機Y) <弾の画像のサイズ )
で、判定してます。

Re:弾幕の管理

Posted: 2010年9月10日(金) 18:34
by ookami
たぶん「C++ 配列」あたりで調べると良いかと思います。

Re:弾幕の管理

Posted: 2010年9月10日(金) 19:29
by Dixq (管理人)
構造体配列を使うと良いと思います。
構造体と配列についてはご存じですか?

構造体とは例えばセットで管理したい変数をセットで管理出来る仕組みです。

typedef struct{
double x,y;
}Pt_t;

こんな感じですね。
配列とは同じものを同時に沢山作ることが出来る仕組みです。
例えば

int a[100];

と書けば

int a1,a2,a3....,a100;

みたいに書いたのと同じようにint型で100個変数が作れます。
個別に変数で宣言するのと違い、ループ処理が可能なので、弾が10000個とかになっても管理が容易です。