- スターター作品
- なし
- 今回の完成サンプル
- なし
さぁ、スクラッチでナニ作る!?
Scratchって実は同時に存在できるクローンは約300体まで。だから「もっとパーティクルを増やしたい!」と思っても上限に引っかかっちゃう。このチュートリアルでは、その300体の上限を賢くかわす「パーティクルリサイクル」を学ぶよ。コツはシンプル:リサイクルして使い回すだけ。たった300体のクローンが無限に流れていくように見えるから、見た目の迫力はそのまま。弾幕シューティングや雪・雨のエフェクトにも応用できる、知ってるとかなり得するテクニックだよ。(ちなみに300じゃなくて20とかでも十分に大量に見えるテクニックでもある)
動画で見てみよう
[talk]チャンネル登録して応援よろしく!チャンネル登録する[/talk]チュートリアルの元になった作品
[prj-embed prj="1305053858" mini="1" title="プレイしておこう" prj-title="スクラッチ小技:クローンの数が300より多く見えるようなトリック" prj-author="ok-scratch"]今回の[prj-link prj="1305053858" title="スクラッチ小技:クローンの数が300より多く見えるようなトリック" author="ok-scratch"]スクラッチを作る参考作品[/prj-link]です。[/prj-embed]今回の目標
スターター作品をリミックスしよう
このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード
#1パーティクルの準備
[talk class="m-l-n"]まずはパーティクル(キラキラっ、とか水しぶきとか細かいエフェクトのこと)の土台から作っていくよ。見やすいようにサイズをめっちゃ小さくしとこう。[/talk]準備
スプライト「パーティクル」を開く
| スプライトについて |
|---|
| 画面左端からバーのX座標まで移動する粒子スプライト。フラグクリック時にサイズを10に設定し、クローンを300個生成する。各クローンはランダムなY座標から出発し、バーに到達するまで右へ移動し続ける。 |
| どんな役割か |
| パーティクルの動きを作るよ!フラグを押すと300個のクローンが画面の左からバーめがけてわーっと流れていくアニメーションになるよ。ランダムな高さから出発するから、自然なばらけ方になるんだ。 |
実装
#2300体のクローン生成
[talk class="m-l-n"]ここから一気に300体のクローンを生み出すよ。Scratchのクローン上限が約300体だから、限界ギリギリまで攻めた設計。(300だとPCの負荷が高くなるから、10とか20でも効果は分かるので、少なくしてもいいよ)[/talk]準備
変数「★クローン数」を追加
生成したクローンの累計数を管理するグローバル変数。フラグクリック時に0にリセットし、クローン生成のたびに1ずつ増やす。
実装
まず「★クローン数」変数を0にリセットしてから、( ) 回繰り返すで300回ループを回す。ループの中で「★クローン数」を1ずつ増やしながら( ) のクローンを作るで自分自身のクローンを作っていくんだ。カウンター変数があると今何体目か把握できるから、デバッグにも便利だよ。
[talk]Scratchの300体クローン上限って、実は「同時に存在できる数」の制限で、途中でクローンを削除すれば新しく作れる余地が生まれる。今回は300体を最初にまとめて作る「プール方式」だけど、シューティングゲームみたいに弾を撃つたび作って消すパターンもあるんだ。作品に合わせて使い分けると表現の幅が広がるよね。[/talk]
#3クローンの出発地点
[talk class="m-l-n"]300体のクローンを作る仕組みができたから、次はクローンが生まれた後の動きを作っていこう。[/talk]クローンされたときでクローンの処理が始まったら、ずっとの中でまず左端(X座標-255)のランダムな高さにワープする。毎回違うY座標(-255〜255のランダム)から出発するから、パーティクルが自然にばらけて見えるんだ。
#4移動とリサイクル
[talk class="m-l-n"]いよいよ核心部分。パーティクルがバーに向かって流れる動きと、到達後にリサイクルする仕組みを作るよ。[/talk]( ) まで繰り返すで、バーのX座標より自分が右に行くまで20歩ずつ進む。( ) の ( )で他のスプライトの座標を読み取れるから、バーの位置が変わっても自動で追従できるんだ。
バーに到達したらループを抜けるけど、ここでdelete this cloneは使わない。foreverループの先頭に戻って、また左端からやり直す。同じ300体をぐるぐる使い回すことで、300体以上のパーティクルが次々に流れているように見えるんだ。
[talk]この「削除せずに位置をリセットして使い回す」テクニックは「パーティクルリサイクル」って呼ばれてるよ。シューティングゲームの弾幕や雪・雨のエフェクトにも応用できる。クローン上限が約300体のScratchでは、リサイクルを覚えるだけで表現の幅がグッと広がるんだ。[/talk]
まとめ
クローンを消さずにずっとループで位置をリセットする「パーティクルリサイクル」、覚えておくとめっちゃ便利だよ。Scratchの300体上限を気にせずに、大量のパーティクル演出が作れるようになったね。弾幕シューティングや雪のエフェクトなど、いろんな場面で応用してみよう!