#014 ネコの分身を飛ばす作り方【クローン入門】|スペースキーで連続生成

ok-scratch

スクラッチに挑戦している皆さん、どうも!スクラッチコーチです。

スペースキーを押すたびにネコの分身が四方八方に飛び散るインタラクティブアートをスクラッチで作ります。クローンの作成・開始処理・削除の基本操作と、ずっとループでキー入力を監視するパターンを学べます。

さぁ、スクラッチでナニ作る!?

ずっとループの中でスペースキーを毎フレーム監視する設計が効いている。キー入力イベントブロックではなくif文で検出することで、押し続けるとクローンが連続生成され、離せばその瞬間に止まるという感触を生んでいる。クローンが端に触れると自動削除される仕組みも組み合わさって、画面が際限なく増殖しない整理された状態を保ちながら何度でも分身を飛ばせる。この組み合わせがどう実装されているのか、作り方を見ていこう。 参考資料:スクラッチプログラミング事例大全集

動画で見てみよう

ok-scratch ok-scratch
チャンネル登録して応援よろしく!チャンネル登録する

チュートリアルの元になった作品

今回の目標

スペースキーを押すと魔法使いネコのクローンがランダムな方向に飛び出し、画面端に触れると消えるインタラクティブアートを作ります。

スターター作品をリミックスしよう

このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
スターター作品をダウンロード

#1ネコの初期設定

ok-scratch ok-scratch
前回はクローンでネコのアートを作ったよね。今回もクローンを使うんだけど、スペースキーでネコの分身をバンバン飛ばすインタラクティブな作品を作るよ。

準備

スプライト「魔法使いネコ」を開く

魔法使いネコ魔法使いネコ
スプライトについて
左右に動きながら端で跳ね返るネコのスプライト。スペースキーでクローンを生成し、クローンはランダムな方向に飛んで端に当たると消える。
どんな役割か
ネコが左右に動き回るよ。スペースキーを押すとクローンが飛び出して、ランダムな方向に進んでいくんだ。端に当たったらクローンが消えるぞ!

実装

step-0

イベントgreenflag が押されたときでスタートしたら、「コスチューム1」に切り替えてステージ中央(0, 0)に配置する。動き( ) 度に向けるで向きを110度にするんだけど、これはちょっと右斜め下の方向。まっすぐ横じゃなくて斜めに出発するから、端で跳ね返るたびにジグザグに画面を動き回るようになるんだ。

#2ネコの自動移動

ok-scratch ok-scratch
ネコがずっと画面内を跳ね返りながら動く仕組みを作ろう。
step-1

まず動き回転方法を ( ) にするを「左右のみ」にする。これがないと端で跳ね返ったときにネコがひっくり返って逆さまになっちゃうんだよね。

制御ずっとループの中で10歩ずつ動かして、動きもし端に着いたら、跳ね返るで端に当たったら自動で跳ね返る。これだけでネコが画面中を縦横無尽に走り回るんだ。

ok-scratch ok-scratch
「端に着いたら跳ね返る」って、DVDのスクリーンセーバーと同じ原理なんだよね。壁に当たる角度と跳ね返る角度が等しくなるように動いてて、だから最初の向き(このネコだと110度)をちょっと変えるだけで軌道がガラッと変わる。試しに90度ぴったりにするとひたすら同じラインを往復するだけになるから、角度をいじって遊んでみて。

確認プレビューしておこう 確認プレビューしておこう
旗を押すとネコが画面の真ん中から動き出して、端で跳ね返りながら動き回るね。

#3キー入力でクローン生成

ok-scratch ok-scratch
ネコの移動が完成したところで、次はスペースキーでクローンを飛ばす仕組みだ。
step-2

さっき作った制御ずっとループの中に、制御もし ( ) ならでスペースキーが押されているかをチェックする条件を追加しよう。条件を満たしたら自分自身のクローンを作る。ループの中で毎フレーム監視し続けるから、スペースキーを押し続ければどんどんクローンが生まれるし、離せばピタッと止まるよ。

確認プレビューしておこう 確認プレビューしておこう
スペースキーを押すとネコのクローンが作られるようになったね。

#4クローンの初期動作

ok-scratch ok-scratch
本体の動きが完成したから、ここからはクローンが生まれた瞬間の動作を作っていこう。
step-3

制御クローンされたときがクローン専用コードの始まり。コスチュームを「コスチューム2」に切り替えて本体と見分けがつくようにし、「Meow」の音を鳴らす。そして動き( ) 度に向けるで-180から180までの乱数の方向を向かせると、クローンごとに向く方向がバラバラになって花火みたいにパーッと全方向に散らばるよ。

ok-scratch ok-scratch
この「ランダムな方向に飛ばす」やり方、ゲーム業界では「パーティクル」って呼ばれるテクニックの基本形なんだ。爆発エフェクト、魔法の演出、紙吹雪──派手な見た目の裏側は全部このシンプルな仕組みの応用だよ。クローン+乱数だけでゲームっぽいエフェクトが作れるの、なかなかアツいよね。

確認プレビューしておこう 確認プレビューしておこう
クローンが生まれるとコスチュームが切り替わって、ニャーって鳴きながらランダムな方向を向くようになった。

#5クローンの飛行と消滅

ok-scratch ok-scratch
クローンの初期設定ができたから、あとは飛んでいって画面端で消える動きを入れれば完成だ。
step-4

制御ずっとループで15歩ずつ前に進ませよう──本体の10歩より速いんだよね。調べる( ) に触れたで端に触れたら制御このクローンを削除するで消す。画面外に飛んでいったクローンを放置すると見えないところで溜まっていくから、ちゃんと片付けるのが大事だよ。

これでスペースキーを連打するとネコの分身が花火みたいに飛び散る作品の完成!次回は街を走る車を作るよ。

まとめ

クローン+ずっとループの組み合わせで、こんなにインタラクティブな作品が作れるんだね。スペースキーを連打するほどネコが増えていく感じ、なかなか病みつきになるよ。最初の向きをちょっと変えるだけで軌道がガラッと変わるから、角度をいじって遊んでみてね。次回は街を走る車を作るよ!

ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!