この記事のポイント
クローンを作る限界数がわかります。
限界数まで作れない問題の解決方法がわかります。
【結論】クローンは300体まで作れます!これだけあれば十分です。
「▽のクローンを作る」ブロック の説明
「▽のクローンを作る」ブロックは、▽で選んだスプライトのクローンを作ることができます。選べるスプライトはじぶんじしんや、他のスプライトです。
スクラッチでのクローンとは、選んだスプライトとまったく同じ形・スクリプトを持ったコピーされたスプライトのことを言います。
「▽のクローンを作る」ブロックを使う場面
「▽のクローンを作る」ブロックは、次のような場面でよく使います。
- シューティングゲームで弾を発射するとき
- アクションゲームで同じ敵を何体も出現させるとき
同じスプライトを何度も使う場面になったらクローンを作るブロックを使えないか考えてみてください。
クローンを使ったシューティングゲームは以下のようなものが作れます。
このシューティングゲームを作りたい方は以下の記事を参照してください。
クローンが作れる限界数
【結論】クローンは300体まで作ることができます。
クローンはとても便利ですが、無限に作れるわけではありません。クローンが作れる上限数があります。
クローン作成 テスト
ここでクローンが何個まで作れるかのテストをしてみましょう。以下のスクラッチプロジェクトを試してみてください。
緑意色の旗(実行ボタン)を押して、スクラッチキャット君をクリックしてください。スクラッチキャット君からリンゴのクローンがドンドン作られていきます。
画面左上のリンゴ数はリンゴのクローンが作られるたびに数が1つずつ増えていきます。2、3分でリンゴ数が300になって、スクラッチキャット君からリンゴが作られなくなっていることがわかると思います。
クローンは300体つくられるとそれ以上は自動的に作られないようになります。
他のスプライトのクローンも作る場合の限界数
【結論】他のスプライトのクローンも合わせて300体まで作ることができます。
他のスプライトのクローンも作りたいときがありますよね。例えば、リンゴとバナナのクローンを作りつづけるスクリプトを作った場合です。
このように複数のスプライトのクローンを作る場合でも、それら複数のスプライトのクローンの合計が300体まで作ることができます。
複数スプライトのクローン作成 テスト
ここで複数のスプライトのクローンが何個まで作れるかのテストをしてみましょう。以下のスクラッチプロジェクトを試してみてください。
緑意色の旗(実行ボタン)を押して、スクラッチキャット君をクリックしてください。スクラッチキャット君からリンゴとバナナのクローンがドンドン作られていきます。
画面左上のリンゴ数とバナナ数は、リンゴとバナナのクローンがそれぞれ作られるたびに数が1つずつ増えていきます。2、3分でリンゴ数とバナナ数が150になって、スクラッチキャット君からリンゴとバナナが作られなくなっていることがわかると思います。
クローンが300体作れないときの問題
【結論】「自分自身のクローンを作る」によってクローンがクローンを作っています。
クローンが300体作れないとことがあります。
クローンを作って、そのクローンを動かさない場合にこのように見えることがあります。
例えば、スクラッチキャット君が動いてリンゴをその場に置いていくゲームを作った場合でこのようなことが起こります。
クローンが300体つくれない テスト
ここで複数のクローンが300体つくれないときのテストをしてみましょう。以下のスクラッチプロジェクトを試してみてください。
緑意色の旗(実行ボタン)を押して、スクラッチキャット君をクリックしてください。スクラッチキャット君が動き始めたら、「スペースキー」をたくさん押してリンゴのクローンを作りましょう。ただしどれだけ連打してもリンゴを9個作った段階でスペースを押してもリンゴが作られなくなります。
ただし、リンゴ数は301個まで増えています。
この理由は「クローンがクローンを作っている」からです。そしてリンゴが9個しか見えない理由は、クローンされたリンゴが重なっているためです。
クローンがクローンを作るとなぜ9回でクローン生成が終わってしまうかと言うと、これは指数関数の考え方のためです。これは少し難しいので、「クローンがクローンを作っている」ためと覚えておくとよいです。
クローンが300体作れないときの問題の解決
【結論】自分自身のクローンを作る を極力使わないようにする。
自分自身のクローンを作るを使わずに、他のスプライトのスクリプトの中で「リンゴのクローンを作る」のブロックを使いましょう。
今回のスクラッチキャット君が動いていく間にリンゴのクローンを作るゲームでは、スクラッチキャット君のスクリプトの方で「リンゴのクローンを作る」のブロックを使いましょう。
対してリンゴのスクリプトの中では、「クローンされたとき」ブロックを使って、リンゴのクローンが作られたときの動きをプログラミングしていきましょう。実際のプログラムは以下のようにします。
クローンが300体つくれない問題の解決 テスト
ここで複数のクローンが300体つくれない問題を解決したテストをしてみましょう。以下のスクラッチプロジェクトを試してみてください。
緑意色の旗(実行ボタン)を押して、スクラッチキャット君をクリックしてください。スクラッチキャット君が動き始めたら、「スペースキー」をたくさん押してリンゴのクローンを作りましょう。ちゃんと9個以上のリンゴを作れるようになっていることがわかると思います。
さいごに
今回はクローンを作る限界数と、限界数まで作れない問題とその解決方法を説明しました。
スクラッチプログラミングにおいて、クローンを作ることは非常に重要です。
クローンをマスターしてスクラッチプログラミングをより楽しみましょう。
コメント