「Unity」STGにおける隊列の作成[荒川]

概要

STG(シューティング)には隊列で出現する敵がよくでてきます。
STG作るならなら取り合えず実装しとくかみたいなノリでググっても意外と出てきませんでした。
なので備忘録も兼ねてコードを書きながらロジックの説明をして行きます。
UnityC#を扱いますがロジックはUnityに依存していないのでUE愛好者やネイティブコードが好きな方にも役立つかも。
STGを作った経験のない人だとピンとこない部分があるかもしれないので注意してください。

Unity公式チュートリアルでいいだって?確かにそうかもな

ざっくりとした設計のイメージ

よくある敵の出現方式として毎フレームカウントを取りながら、出現フレームになったら生成する方法があります。

その方法でも見た目は隊列っぽいものが作れるのですが、「隊列を撃破したらボーナス」等の処理を組もうとすると隊列ごとに管理するクラスが必要になります。
そこで以下のようなクラスを作ります。

直に敵を生成するのではなく、敵を生成して管理するクラスを生成してそちらで判断する形式です。
敵の生成方法とか管理方法はお好みで。
めっちゃ簡単に隊列ができました(^^)

やる気次第で隊列の続きやステージ作成ツールとかの実装も書きます。
気軽にツイッターでDM飛ばしてください(#^^#)

Unity

Posted by 荒川 新一