[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
弾幕制御
弾幕というほど弾は出ませんが。
ちょっとこんがらからないうちに仕様を整理してみます。(つまりチラシの裏)
敵とその攻撃オプションの構造体定義は以下の4種
・敵の種類ごとの定数パラメータセット
リアルタイムでは変動しない、ライフやアニメーションの参照データ。
外部ファイルに定義されたパラメータをメモリ内にストックする。
・攻撃オプションの定数パラメータセット
弾の画像、スピード、Way数などの基本値、及び1ループ内におけるその変動値のパラメータ。
・個別の敵オブジェクトデータ
ライフ、位置など、リアルタイムで変動する敵データを保持。
初期化時にパラメータセットのポインタをセットし、以降はそれを参照する。
攻撃オプションは複数を保持し、スレッドステートのON/OFFを切り替えることで攻撃を制御する。
・個別の攻撃オプションデータ
敵オブジェクトに配列として内包され、弾の発生を直接的に制御する。
基本パラメータは上記のパラメータセットにあるので、タイムカウンターやスレッドステートのみを持つ。
敵パラメータ
|
敵オブジェクト
L 攻撃オプション
|
オプションパラメータ
敵、攻撃オプションの基本パラメータはステージの変更時にステージスクリプトにしたがってロード。
……書いてみるとすごい単純だ…
コーディングしてるとポインタが蜘蛛の巣のごとく張り巡らされてるような感覚になってしまうんですけどねー。
実装し終わったら、一度コードを整理しないと後々面倒なことになりそうです。
とりあえず、これらの実装は一通り終わっているので、後は攻撃オプション内部の弾生成を実装すれば敵の弾が出てくる…と思う(不安)