今回はシューティンゲームでの簡単な敵の出現管理についてです(‘ω’)ノ
ゲームをプレイするといつも敵が同じところで同じように出てきます。決まった場所で出てくることでゲームの面白さや難しさが決まります。この敵の出現を管理するのはゲーム制作においてとても重要なことです。でもこれってどう管理するんでしょうね?
フレーム数で管理する
たぶんもっとも基本的な管理の方法がフレーム数で管理するやり方だと思います。これは毎フレームごとにカウントして一定の値になると敵を出現させるやり方です。
実際私がやっている方法を紹介します。この方法はこのゲームで使っています。
プログラムはこんな感じで作ってあります。
var stage = [ {x: 180, y: -16, type: "enemyA", interval: 16,}, {x: 200, y: -16, type: "enemyB", interval: 16,}, //以下同様に必要なだけ作る ];
上の配列のようにデータを作成しておきます。
- x、y・・・出現位置
- type・・・敵のタイプ
- interval・・間隔
となっています。最後のintervalが次の敵の出現までのフレーム数です。このインターバル分だけフレーム数をカウントしたら次のキャラを出現させます。私が使っているenchant.jsなら以下のようになります。
if(this.age - this.from >= this.interval) { //出現処理を書く this.from = this.age; }
ageはシーンなどが持っているフレーム数をカウントしているプロパティです。fromは前回出現させた時のフレーム数を記録しています。今のフレーム数と前回出現させた時のフレーム数との差がinterval以上になれば次を出現させます。
ものすごく単純ですがわかりやすくて扱いやすい方法です。背景なんかと同期させる必要がなければこの方法で十分ゲームを作ることができると思います(‘ω’)ノ