ロング体験会 ご応募受付中です

Scratch クローンが倍々に増えてしまうときの対処法

Scratch クローンが倍々になってしまうときの対処法

こんな風に、1つが2つ、2つが、4つ、4つか8つ、、、
に増えてしまうことありませんか?

クローンがどんどん増えてしまう様子
クローンがどんどん増えてしまう様子

「本当は1つずつ増やしたいのに。。。」
そんな時にどのように組めばよいか、本記事で説明していきます。

目次

なぜ倍々ばいばいになってしまうのか?

なんで一つずつではなく、倍々に増えていってしまうのでしょうか?
どんなときにこの現象げんしょう発生はっせいするのでしょうか?

答えは簡単で、「自分自身のクローンを作る」コマンドをクローン側も受け取ってしまうからです。

どういうことかと言うと、下の図をごらんください。

なぜクローンが倍々になってしまうのか?
なぜクローンが倍々になってしまうのか?

「自分自身のクローンを作る」を押すと、ネコのクローンがつくられます。
1体→2体になります。
ここまでは想定通そうていどおりですよね。

そのあと、もう一度「自分自身のクローンを作る」を押すと、元のネコに対しては当然のことながら、さっきクローンされたネコにも、「自分自身のクローンを作る」という指示がとんでしまいます

従って、2体がそれぞれ自分自身のクローンをつくるため、
2体→4体になります。

その後はご想像通そうぞうどおり、自乗じじょう分増えていくことになります。

この現象げんしょう回避かいひする方法をご紹介しょうかいしていきます。

クローンを倍々にしない方法①個体に指示をする

クローンを倍々にせず一つずつ増やす方法はいくつかあると思いますが、
まずは個体こたいに指示をする方法です。

先ほど話したように、「自分自身のクローンを作る」という指示が、クローンも含めたすべてのネコ(スプライト)にとんでしまうことが原因でした。

そうではなく、個体こたいに指示をする(特定のネコにだけ指示が飛ぶ)ようにします。

一番分かりやすいのは、「このスプライトが押されたとき」に「自分自身のクローンを作る」とすると、押されたスプライトだけがクローンを作りますから、一つずつ増やすことができます。

このスプライトが押されたとき自分自身のクローンを作る
このスプライトが押されたとき自分自身のクローンを作る
このスプライトが押されたときにクローンを作るなら一つずつ
このスプライトが押されたときにクローンを作るなら一つずつ

他にも、”〇〇に触れたとき”や、”変数が△△になったとき”、とすると個体こたいに指示をすることができます。
※変数は「このスプライトのみ」にすることが前提。

ただ、この方法は少しややこしく、分からない方は次に進んでください。

クローンを倍々にしない方法②ステージから指示する

次にステージから、クローンを作る方法です。
こちらの方が理解しやすいと思います。
ステージというのは、画面右下にあるこの部分です。

ステージの場所
ステージの場所

ステージは、背景をセットするために操作することが多いと思いますが、
ステージ自体にコードを書くこともできます

ステージを選択したときの画面
ステージを選択したときの画面

このステージのコードで、先ほどから使っている自分自身のクローンを作るコマンドを使います。

「ネコ(もしくはスプライト1)のクローンを作る」という表示になっているはずです。

ネコのクローンを作るコマンド
ネコのクローンを作るコマンド

このコマンドをつかうと、元のネコ(クローンされていないネコ)に対してのクローンを作ることができます。

ステージからクローンを作る
ステージからクローンを作る

このように1つずつ増えているのが分かると思います。

***

ちなみに、ステージからではなく、他のスプライトからでもおなじことができます。

例えば、Goboを追加して、Goboで自分自身のクローンを作るコマンドをつかうと、

Goboでクローンを作るコマンド
Goboでクローンを作るコマンド

このようにドロップダウンリストから、「自分自身」か「ネコ」かを選ぶことができますので、Goboからネコのクローンを作ることもできます。

おまけ)クローンは300個までしか作れない

クローンは作れる数が300個までと決まっています。

したがって、上限の観点かんてんからも、むやみに増えていってしまうのはよくありません。

まとめ

ネコのコードの中に、「自分自身のクローンを作る」をつかうと、場合によって、クローンが倍々になってしまいます。

クローンは便利ですが、今回のように思わぬ動きをするので、注意が必要ですね。

Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.edu から自由に入手できます。

シェアおねがいします
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

もつさん
プログラミングスクールLの代表
妻、息子、娘の4人家族
プログラミング教育は、子どもの将来を変え、社会を変えるという信念のもと、日々子どもと向き合っています。

目次