【MV講座】パーティクルを実装してみる

前回の予告通り、今回はパーティクル機能を実装したいと思います。
ついでに言うと、ラストです。

パーティクル機能どうやんねん

パーティクル機能って、あれやろ、くるくるなんや光ったりするやつやろ。あんなん無理。無理無理無理
そう思うかもしれませんが、ここで作るパーティクル機能はもっと簡単なやつです。
ぶっちゃけると、前回までの背景スクロール機能を流用するだけです。
ね? 簡単でしょう?

コード配布するので読んで

背景スクロール機能をちょこっと変えただけなので、これもコード読んでもらう以外に解説することねえな!
というわけで、コードを読んでください。
……と言うとあまりにも不親切なので、ちょこっとだけ解説します。
コードのURLは最後に貼っておきます。

背景クラスの変更点

まず背景クラス(NTMO.TTTT.ScrollBackImages)の変更点を書いておきます。
createSprites()内に直接「$dataSystem.title1Name」とファイル名を取得するようにしていましたが、これをインスタンス生成時に設定するように変更しました。
それにともない、getMainFileName()とgetSubFileName()が追加されています。
まあ読んで字のごとく、設定したファイル名を取得するメソッドです。それだけです。

パーティクルクラスの追加

NTMO.TTTT.ParticleImageクラスが追加されています。
ほぼ背景クラスと一緒のことしかやっていないのですが、以下の点が違います。

ブレンドモードを設定できるようにしている
透明度を設定できるようにしている
点滅させるかどうかを設定できるようにしている

ややこしいのはupdateOpacity()内の計算くらいかなと思います(数学が得意な人にとっては全然ややこしくないかもしれませんが)。
その計算ですが、僕は小卒並の算数知識しかないので、解説は不可能です。
以下のサイトを参考にしてください(僕もこれ見て組んだだけです)。
http://hakuhin.jp/as/move.html#MOVE_03

講座を書き終えたあとの感想

というわけで今回の講座は終了です。
背景クラスとパーティクルクラスは似たようなことをかなりやっているので、スーパークラスを作って実装してみてもよかったかなあと思いました。
この辺の「どんな風にクラスを作っていくか」というのは、経験が全く足りていないので判断が難しいですね。
あとから「こうすればよかったな~」と思うことばかりです。
あと一年くらい時間があれば、もう少しマシな設計とコーディングができると思うのですが……。

最後に

今回はタイトル画面オンリーの実装でしたが、作成した2つのクラスを用いれば別のシーン(ステータス画面等)にも簡単に移植できます
また、背景の数も2つと言わず、インスタンスを増やせば3つでも4つでも5つでもラクラク追加できちゃいます
便利ですね。興味があれば、試してみてください。
注*ただし描画の順番に注意してください。描画の順番はシーンごとに違うので、どのタイミングでaddChildするのか? というのは結構大事になります。

全コードはツクール公式フォーラムからダウンロードしてください!


フォローする