2020年からの小学校でのプログラミング教育必修化に伴って、プログラミングへの関心が高まっています。

そして、教育用のプログラミング言語として人気があるのが、スクラッチ(Scratch)で、色々なゲームや作品を作ることができます。

でも、ゲーム作りだけでなく、プログラミングの基本や考え方も学んでみたいというお子さんや、学ばせたいという親御さんもいらっしゃるのではないでしょうか?

そこで、学びプラスでは「スクラッチで学ぶプログラミング」シリーズを公開中です!

今回は、スクラッチでスプライトを操作する際に便利な「クローン」機能について、解説していきたいと思います。

今回の内容は動画でも公開中!

【スクラッチ】クローン機能とは?

「クローン」と聞いて、何を想像するでしょうか?

”クローン羊” や ”クローン人間” など、色々なところで「クローン」という言葉を聞いたことがあるのではないでしょうか。

「クローン」とは、全く同じ形や性質を持ったもの同士のことです。

スクラッチでのクローン機能は、この「クローン」を生み出す機能のことです。

では、簡単にクローン機能について解説していきます!

スクラッチでのキャラクターのことは「スプライト」と言いますが、このスプライトのコピーをいくつも作り出すことができる機能が、クローン機能になります。

図で描くとこんなイメージです。

ネコのスプライトから、クローンをいくつも作り出しています。

クローン機能で作り出した「クローン」は動かすことができるので、次はそのやり方を見ていきます。

スクラッチで「クローン」を作って動かしてみよう

では、クローンを作って、それを動かしてみたいと思います。

まず、スクラッチのサイトにアクセスしましょう。

そして「制御」から、自分自身のクローンを作る ブロックを選択して移動してきます。

また「制御」から、クローンされたとき ブロックを選択して、図のようにブロックを組み合わせていきます。

ここまで完成したら、自分自身のクローンを作る ブロックをクリックすると、ネコのスプライトがコピーされて、歩き始める(10歩動いて1秒待つということを繰り返す)と思います。

では、このプログラムの解説をしていきたいと思います。

まず、クローンを作るには、自分自身のクローンを作る ブロックを使います。このブロックが一回実行されると、そのスプライトのクローンが一個作られます。

そのため、いくつもクローンを作りたいときは、繰り返しの処理を使ったりします。

10個のクローンを作成する例

なお、繰り返しの処理については、こちらで解説しています。

また、自分自身以外のクローンも作ることができ、何か別のスプライトを使っているときには、「自分自身」の部分を、別のスプライトに変えていきます。

そして、クローンを作ったら、クローンされたとき ブロックを使ってクローンを動かしていきます。

そのため、大体の場合は自分自身のクローンを作る ブロックと、クローンをされたとき ブロックは一緒に使うことが多いでしょう。

【スクラッチ】クローンは表示させ、元のスプライトは隠す

クローンを作成すると、画面上には元のスプライトとクローンが2つ表示されます。

でも、元のスプライトは、クローンの動きと同じにはなりません。

先ほどの例で行くと、元のスプライトは歩くことはなく、クローンを作っていくだけです。

一方で、クローンは、クローンされたとき ブロックから続く命令にそって動いていきます。

そうすると、何匹も歩くネコがいるのに、一匹だけ動かないネコが画面上に表示されたままになってしまい、変な画面表示になります。

そこで、下記のように元のスプライトは 隠す ブロックで隠してしまい、クローンされたときに 表示する ブロックでクローンを表示するようにしてあげます。

こうすることで、元のスプライトは見えなくなり、クローンだけが歩いていくようになります。

クローンを動かすときによく使われるプログラミングの書き方になるので、慣れておくと良いでしょう!

【スクラッチ】クローンごとに別々の動きをさせたいとき

ここまではクローンを作って動かすことを解説してきました。

でもこのままではすべてのクローンが同じ動きをしてしまうかと思います。

そこで、クローンごとに別々の動きをさせる方法を見ていきたいと思います。

スタートボタンを押すと、3つのクローンが作られ、クローンごとに別々の動きをしていきます。

スクラッチで変数を新しく作ろう

まずは「変数」で、変数を作る ボタンを押して、”クローン番号” という変数を作っていきます。

このクローン番号で、各クローンをコントロールしていきます。

クローンを作るたびにクローン番号を増やしていく

「変数」から、クローン番号を1ずつ変えていく ブロックを移動していきます。

これで、クローンが作られるたびに、クローン番号が1つずつ増えていき、クローンごとにクローン番号を持つことができます。

クローン番号によって動きを変えてみよう

まずは「演算」の中から、()=50 ブロックを選択してきます。

また、「変数」から、クローン番号 の変数を選択して、先ほどのブロックにセットしていきます。

そして、クローン番号=1となるように変更します。

そして、「制御」から、もし~なら ブロックを選択して、下の図のように作っていきます。

もし~なら ブロックの中には、そのクローンにさせたい動作をプログラミングしていきます。

これで、クローン番号1にさせたい動きを決めることができました。

クローン番号2、クローン番号3も作っていこう

おなじように、クローン番号2や、クローン番号3をつくっていきます。

こうすることで、クローン番号ごとに別々の動きをさせることができます!

自分自身のクローンを作る ブロックを押すと、クローンが作られ、クローンごとに違う動作をしていくかと思います。

このような工夫をすることでクローンごとに違う動きをさせることができるので、ぜひ色々と試してみるといいでしょう!

【スクラッチ】クローンは使い終わったら削除しよう

クローンをたくさん作っていると、パソコンやタブレットの動作が重くなることがあります。

多くのクローンが同時に動いているので、パソコンやタブレットに負担がかかるためです。。

なので、クローンは使い終わったら、「削除する」ということを覚えておくとよいでしょう。

クローン削除の例

プログラムの内容になります。

この例では、風船のクローンをどんどん作っていき、風船クローンが上に上がっていきます。

そして風船クローンが一番上(y座標が150以上になったら)まで来たら、クローンを削除しています。

クローンを「隠す」ことと、クローンを「削除する」のは違う

スプライトを見えなくする 隠す ブロックがありますが、そのブロックを使ってもクローンを見えなくすることはできます。

ただ、クローンは見えなくなっただけで、実は画面内で動き続けているので、クローンが多くなるとパソコンやタブレットが重くなってしまいます。

なので、使わなくなったクローンは、隠す ブロックではなく、クローンを削除する ブロックできちんと削除してあげましょう。

クローンをうまく使ってゲームを作ろう

クローンを使うことで、いくつもスプライトを使ったり、むだなプログラムを書かなくてよくなったりと、ゲーム作成の時に役に立つことがあります。

「この部分ではクローン機能が使えそう」と思ったら、ぜひクローンを作って試してみてください!