![ロング体験会](https://manabiail-steam.com/wp-content/uploads/2023/03/263f08deef99ee29c35bfdad3906e03d.png)
Scratch クローンが倍々に増えてしまうときの対処法
![Scratch クローンが倍々になってしまうときの対処法](https://manabiail-steam.com/wp-content/uploads/2023/02/8b518343f3fa88b1a3bb9df5eb3043c6.png)
こんな風に、1つが2つ、2つが、4つ、4つか8つ、、、
に増えてしまうことありませんか?
![クローンがどんどん増えてしまう様子](https://manabiail-steam.com/wp-content/uploads/2023/02/bcd717cbd676267131fef85b9bc34d0b.gif)
「本当は1つずつ増やしたいのに。。。」
そんな時にどのように組めばよいか、本記事で説明していきます。
なぜ倍々になってしまうのか?
なんで一つずつではなく、倍々に増えていってしまうのでしょうか?
どんなときにこの現象が発生するのでしょうか?
答えは簡単で、「自分自身のクローンを作る」コマンドをクローン側も受け取ってしまうからです。
どういうことかと言うと、下の図をご覧ください。
![なぜクローンが倍々になってしまうのか?](https://manabiail-steam.com/wp-content/uploads/2023/02/2a831ec055ed4fee4e1d0936ea40500d-1-700x525.png)
「自分自身のクローンを作る」を押すと、ネコのクローンがつくられます。
1体→2体になります。
ここまでは想定通りですよね。
そのあと、もう一度「自分自身のクローンを作る」を押すと、元のネコに対しては当然のことながら、さっきクローンされたネコにも、「自分自身のクローンを作る」という指示がとんでしまいます。
従って、2体がそれぞれ自分自身のクローンをつくるため、
2体→4体になります。
その後はご想像通り、自乗分増えていくことになります。
この現象を回避する方法をご紹介していきます。
クローンを倍々にしない方法①個体に指示をする
クローンを倍々にせず一つずつ増やす方法はいくつかあると思いますが、
まずは個体に指示をする方法です。
先ほど話したように、「自分自身のクローンを作る」という指示が、クローンも含めたすべてのネコ(スプライト)にとんでしまうことが原因でした。
そうではなく、個体に指示をする(特定のネコにだけ指示が飛ぶ)ようにします。
一番分かりやすいのは、「このスプライトが押されたとき」に「自分自身のクローンを作る」とすると、押されたスプライトだけがクローンを作りますから、一つずつ増やすことができます。
![このスプライトが押されたとき自分自身のクローンを作る](https://manabiail-steam.com/wp-content/uploads/2023/02/da15b97d1d9f16b4665042b8c81d678b.png)
![このスプライトが押されたときにクローンを作るなら一つずつ](https://manabiail-steam.com/wp-content/uploads/2023/02/41f8f7f244217a64352abdfd88bd1676.gif)
他にも、”〇〇に触れたとき”や、”変数が△△になったとき”、とすると個体に指示をすることができます。
※変数は「このスプライトのみ」にすることが前提。
![](https://manabiail-steam.com/wp-content/uploads/2023/01/4d64a5a071e7a1cd57648120646dda6a-300x169.png)
ただ、この方法は少しややこしく、分からない方は次に進んでください。
クローンを倍々にしない方法②ステージから指示する
次にステージから、クローンを作る方法です。
こちらの方が理解しやすいと思います。
ステージというのは、画面右下にあるこの部分です。
![ステージの場所](https://manabiail-steam.com/wp-content/uploads/2023/02/a9cca33e7e16cc05eb5b3808bfe78bf6-700x584.png)
ステージは、背景をセットするために操作することが多いと思いますが、
ステージ自体にコードを書くこともできます。
![ステージを選択したときの画面](https://manabiail-steam.com/wp-content/uploads/2023/02/7c19c26efc7ce7513a317e172ca1b6b8-700x366.png)
このステージのコードで、先ほどから使っている自分自身のクローンを作るコマンドを使います。
「ネコ(もしくはスプライト1)のクローンを作る」という表示になっているはずです。
![ネコのクローンを作るコマンド](https://manabiail-steam.com/wp-content/uploads/2023/02/bd09053eae6b40064fcac5b4db8f2eaa.png)
このコマンドをつかうと、元のネコ(クローンされていないネコ)に対してのクローンを作ることができます。
![ステージからクローンを作る](https://manabiail-steam.com/wp-content/uploads/2023/02/a744303fd0426e3c879b2f8114c6c855.gif)
このように1つずつ増えているのが分かると思います。
![](https://manabiail-steam.com/wp-content/uploads/2023/09/7284cdf5d1939cd66be3ea009dad709a-1-300x169.png)
***
ちなみに、ステージからではなく、他のスプライトからでもおなじことができます。
例えば、Goboを追加して、Goboで自分自身のクローンを作るコマンドをつかうと、
![Goboでクローンを作るコマンド](https://manabiail-steam.com/wp-content/uploads/2023/02/f975908e627fefac6f4f3c0ee87069dc.png)
このようにドロップダウンリストから、「自分自身」か「ネコ」かを選ぶことができますので、Goboからネコのクローンを作ることもできます。
おまけ)クローンは300個までしか作れない
クローンは作れる数が300個までと決まっています。
したがって、上限の観点からも、むやみに増えていってしまうのはよくありません。
まとめ
ネコのコードの中に、「自分自身のクローンを作る」をつかうと、場合によって、クローンが倍々になってしまいます。
クローンは便利ですが、今回のように思わぬ動きをするので、注意が必要ですね。