ショット処理

ショット処理を実装 PICO-8
ショット処理を実装

イベント「ゲームレガシーVol.2」に出展するシューティングゲーム、「レガシー シューター」の更新記事です。

自機の噴射アニメーションを実装出来たので、次は いよいよショット処理を実装しました。

弾はスプライトを一枚描き、それにパーティクル効果をつけました。

同じものを幾つも作るのは、変数ではなく配列(PICO-8 では Lua なので、テーブル)を使用します。

弾用のテーブルを一つ用いて、ショットボタンを押す度に、その中に表示させる数の弾の要素を入れていきます。

そして 更新タイミングで、上へ移動させ、画面の外に出た所(完全に姿が無くなった所)で、テーブルから、その弾の要素を消します。

そして、パーティクルは、画面上に点を打つ命令( pset )を使って、点を描いています。

ランダムで角度と速度を決め、寿命値、弾の位置から相対的に出現位置を決めます。

そして更新毎に寿命の要素を減算していき、マイナスになった所で、そのパーティクルの要素を消します。

描画時は、寿命値をチェックして、青から紺色へと変化させて描きます( pset 命令)。

説明文は以上にして、実行結果を見てみましょう。

自機弾の発射テスト
自機弾の発射テスト

どうでしょう?

良い感じに弾が撃てていると思いますが(パーティクルのアニメーションも)、いかがでしょうか?

自分の描いたキャラが、こうして画面上でコントロールされて、動くアニメーションを見ているだけで、お腹いっぱいになります(ずっと操作していられそう)。

私、ゲーム開発幸福度が 高いと思います。

そして、パーティクルの動きを観察できるように、自機弾を止めて観てみます。

弾の移動を止めて、パーティクルのチェック
弾の移動を止めて、パーティクルのチェック

こういう遊びが出来るのも、開発者の特権です。

次は、画面のはみ出しチェックを実装したら、敵キャラ登場となります。

コメント

タイトルとURLをコピーしました