スプライトは、コピーしても命令もコピーしてくれるので同じ動きのするスプライトを比較的簡単に増やすことができます。ですが、同じ動きであれば、クローン機能を使ったほうが便利なときがあります。クローンを使えば、あらかじめたくさんのスプライトを作っておく必要がなくなります。例えば、何度も出てくる敵のキャラクター、ブロックなどの障害物、たくさん出てくるアイテムなどに使えます。
今回は、便利な機能であるクローンについて見ていきましょう。
「自分自身のクローンを作る」ブロックと「クローンされたとき」ブロックをセットで使う
クローンを作るには「自分自身のクローンを作る」という命令ブロックを使います。これを1回実行するごとに、そのスプライトのクローンが作られ、表示されます。自分自身以外のクローンを作るときは、[自分自身]のところを他のスプライト名に変えることで作ることができます。
クローン関連のブロックは「制御」カテゴリの中にあります。また、クローンはプログラムが実行している間だけ動き、表示されますが、プログラムが止まるとすべて消えてしまいます。
上記の例では、スプライトの風船を10個クローンで作っています。このように大抵の場合は、繰り返しの命令を使って複数作ります。
そして作ったあとに実行される命令が「クローンされたとき」の命令ブロックです。よって普通は、この2つのブロックをセットで使います。
上記の例では、クローンで作られた風船は、それぞれ画面のランダムな場所に出てきます。
クローンを使った本体のスプライトは隠しておくのがポイント
クローンを使ったときには、本体のスプライトとクローンで作られたものが2種類表示されます。
クローンは「クローンされたとき」以降の命令ブロックの動きになりますが、本体のスプライトはクローンと同じ命令にはなりません。繰り返しを使って自分自身のクローンを作ったあとに、クローンと同じ命令を複製してつなげれば同じ動作をしますが、二度手間なのでスマートではありません。クローンを使うときは、本体は隠して使わなくしたほうがコードが簡単になります。
具体的には、上記の例のようにすぐに本体を「隠す」ブロックで隠してしまって、クローンを作ったあと「クローンされたとき」にクローンだけ表示させれば、クローンにだけ命令すればよくなります。
クローンをたくさん作ると重くなる
クローンは、便利な機能ですが1つの画面に増やしすぎると、動作が重くなるのがデメリットです。たくさん作りすぎて重くなった場合は、プログラムをストップさせ、クローンの数を減らしましょう。
また、スプライトの場合、消すためには「隠す」ブロックを使いますが、クローンの場合は、「クローンを削除する」ブロックを使いましょう。削除することで、動作が軽くなりますので、クローンは使い捨て感覚で使うようにするとよいでしょう。
上記の例では、鳥のスプライトに触れたら「クローンを削除する」という動作になります。このようにすれば、どの風船のクローンも鳥に触れたら削除されます。
このクローンの命令を使って、クローンで作られた10コ風船が、鳥にあたると消える作品を作ったので、動作を確認してみてください。