クローンの作り方を学ぶ
クローンを作ることで同じスプライトをいくつも 表示 させてそれぞれ 動 かすことができます。 このページの 説明 ではもともとの1体をオリジナルと 呼 び、 クローンを作るで作られたものをクローンと 呼 ぶことにします。 サンプルプロジェクトを 読 み 込 み 動 かしてみましょう。
-
クローンの作り方
クローンの作り方
ファイルを読み込む 方法
パソコンの中にあるサンプルプログラムをスクラッチで読み 込 んで 動 かしてみましょう。
- 公式 サイトを 開 きます。
https://scratch.mit.edu/ - 左上のメニューの「作る」をクリックします。
- 左上のファイルをクリックして、「コンピューターから読み込む」をクリックします。
- 「PC」 - 「ドキュメント」 - 「scratch_samples」の 順 にダブルクリックします。 そして、「CloneSample.sb3」を 選択 します。
- 以下 の 画面 が出たら、OKをクリックします。
- ※次のいずれかの場合には「サンプルプログラムをダウンロードする方法」に 従 ってダウンロードし、 「scratch_samples」フォルダに 置 いてください。
・「scratch_samples」フォルダがない
・「scratch_samples」フォルダ内にファイルがない
・サンプルプログラムのファイルを 誤 って 削除 してしまった
・サンプルプログラムのファイルを 誤 って 変更 してしまった
読み込んだサンプルプロジェクトを 動 かしてみる
- 「clonesample.sb3」の読み込みができたら
をクリックし、
を押しましょう。
サルの クローンが30体作られ、オリジナルと合わせて31体のサルが 表示 されます。
オリジナルは100歩 動 くごとに1体クローンを作ります。
Playerがサルに 触 れると、クローンだった場合は消え、 逃 げるサルのクローンを作ります。 オリジナルだった場合は「見つかっちゃった」と発言し、 サルと 逃 げるサルのクローンすべてが消えます。
逃 げるサルは(2歩× 逃 げる回数)だけ 移動 した後に消えます。
10秒に1回、オリジナルのサルの 位置 にバナナのクローンが作られます。
クローンの 特徴
を実行するとクローンが1体作られます。
の ようにして他のスプライトのクローンを作ることもできます。
- クローンは作られたタイミングで
のスクリプトを一度実行します。
を実行するとそれを実行したクローンが 削除 されます。
- 「すべてのスプライト用」として作った 変数 はすべてのクローンで 共有 します。 (クローンだけでなくすべてのスプライトで一つの 変数 を 共有 します)
- 「このスプライトのみ」として作った 変数 はオリジナルやクローンが1体ずつ持ち、 それぞれ別の 値 を持つことができます。
- サンプルプロジェクトで 逃 げる回数の代わりに 逃 げる回数 -すべてのスプライト用を使ってどうなるか 確認 してみましょう。
共有 の 変数 に対してそれぞれのクローンが1ずつ 減 らしていくので すぐに0 以下 になってしまい、クローンが作られてもすぐに消えてしまいます。
や
のブロックを 置 いた場合、オリジナルと 各 クローンのそれぞれで実行されます。
- これらのスクリプトの中で「すべてのスプライト用」の 変数 の 値 を 増 やしたり 減 らしたりする場合には注意が 必要 です。
オリジナルやすべてのクローンで 実行すべき 処理 であるのか、オリジナルだけが実行すべき 処理 であるのかを 明確 にして、 それに応じたスクリプトにする 必要 があります。
そうしないと先ほど 挙 げた 例 のように、すべてのクローンが1つの 変数 を 変更 して 想定と 異 なる 値 になってしまったりします。もう一つ 例 を 挙 げます。
あるメッセージを受け取ったり、あるキーが 押 されたらクローンを1体 作るといったスクリプトを作るとします。
- その 際 に 単純 に
のように作ると
- となってしまいます。
それを 防 ぐには 以下 のように「オリジナルである場合のみクローンを作る」といった 方法 があります。
サンプルプロジェクトではがクリックされたときに
を実行し、
の中で
を実行することで、 オリジナルであればクローン?=no、 クローンであればクローン? =yesとしてどちらであるかを 判定 できるようにしています。