Scratchでよく使われる便利なコードの使用例です。今回は「クローン」の使用例です。これを参考にいろいろと試してください。
クローンとは
Scratchはステージ上に動かすスプライトごとにコードを書きます。
このときステージ上に多くの同じようなスプライトを表示して動かしたいときなど、画面上でスプライトを複製して動かすこともできますが、コードが複雑になったり修正したいスプライトがどれかわからなくなったりなど取り扱いにくくなることがあります。
クローンはそのスプライトをコードによって複製することで、よりシンプルなコードで多くのスプライトを表示して動かすことができます。
例えば、ミサイルの球や複数のカードなどステージ上に同じ種類のスプライトを複数動作させたいときには、このクローンがよく使われます。
クローンブロック
ではそのクローンの使い方を説明します。
クローンブロックを使って作ったり削除したりします。クローンで使うブロックは以下です。
クローンを作るときは「〜のクローンを作る」ブロックを使って作ります。
「〜の」の所に作りたいスプライトを選択します。
クローンを削除するときは「このクローンを削除する」ブロックを使います。
これを実行するとそのクローンされたスプライトは削除されます。なのでこのブロックは終端ブロックになってます。
そして、クローンされたときになにか処理をしたいときには、「クローンされたとき」ブロックを使います。
例えば、自分自身のクローンを10個作りたいときは、クローンを作るブロックを10回繰り返します。
使い方1
ではそのクローンの使い方を説明します。
まずはシンプルに同じスプライトを複数ステージ上にバラバラと表示させたいときは、クローンを作るブロックを作りたい数だけ繰り返して、クローンされたときにどこかの場所へ行くようにします。
あとは、他のスプライトがクローンに触れた時の動作を決めてコードを追加したりしてクローンしたスプライトを活用します。
以下は宝石をクローンで10個作って、掃除機で吸い取るサンプルコードです。
矢印キーで掃除機を操作しますが、例えばmicro:bitを使って掃除機を操作するとまた面白くなります。
【お掃除しよう】
使い方2
次にカードゲームを作るときによく使われる方法です。
ステージに複数のカードを並べるときに複数のカード柄のコスチュームを持ったスプライトをクローンします。
クローンしたカードごとに固有の番号を割り振ってそれぞれのカードを識別します。
クローンされたときにそれぞれの固有番号に応じてコスチュームを変えたり動きを変えたりします。
コードはクローンするカードのスプライトに作ります。
以下はトランプをクローンで3枚 x 2列の計6枚並べて、トランプをクリックするとそれぞれのカード番号とコスチュームを言います。
カードゲームを作るときに役立ててください。
【カード並べ】
使い方3
最後にシューティングゲームを作るときによく使われる方法です。
自機のミサイルや敵機のミサイルを1つのスプライトで作ります。
自機用と敵機用のミサイルのコスチュームを持ったスプライトをクローンします。
クローンを作ったときに自機用のクローンか敵機用のクローンかをわかるようにしておく方法です。
コードは自機と敵機とそれぞれのスプライトからミサイルのクローンを作ります。
以下のサンプルはシューティングゲームではありませんが、ステージ上のスプライトがハートを発射します。
シューティングゲームでなくとも同じ手法を使ってかわいいゲームが作れると思うので、いろいろと試してみてください。
【ハートを投げろ】