「7日間で学ぶスクラッチ応用編」の最終日にあたる今回は、「クローン」について解説していきます。この記事を読むことで、クローンを使ったプログラムを作れるようになります。
最終日の目標
- クローンについて学ぼう
- スクラッチでクローンを扱う方法を学ぼう
- クローンを使って簡単なプログラムを作ろう
【関連記事⇒】7日間で学ぶスクラッチ応用編【1日目】
【関連記事⇒】7日間で学ぶスクラッチ応用編【2日目】
【関連記事⇒】7日間で学ぶスクラッチ応用編【3日目】
【関連記事⇒】7日間で学ぶスクラッチ応用編【4日目】
【関連記事⇒】7日間で学ぶスクラッチ応用編【5日目】
【関連記事⇒】7日間で学ぶスクラッチ応用編【6日目】
【関連記事⇒】7日間で学ぶスクラッチ応用編【7日目】(←今ココ)
スクラッチにおける「クローン」とは
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/2a831ec055ed4fee4e1d0936ea40500d-7-1024x576.jpg)
スクラッチにおいて「クローン」とはキャラクターをコピーすることができる機能のことです。
スクラッチではクローンを使うことで、同じキャラクターを何体も出現させることができます。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/ee3be1d100caf1aa771552d59c2bd436-7-1024x576.jpg)
少し難しいので参考プログラムを交えて分かりやすく説明していきます。
参考プログラムを使って解説
【プログラムの説明】
・緑色の旗🚩をクリックするとプログラムが動きます。
・0.5秒ごとにランダムな場所に風船が生成されます。
・赤い丸ボタンでプログラムを停止します。
⇧の参考プログラムを使って、クローンについて説明していきます。
まずは感覚をつかむために一度、参考プログラムを動かしてみましょう。
青い風船が次から次へと出現するのが確認できたと思います。
青い風船に注目してみると、「下から上に移動している」、「天井に着くと消える」と言う特徴があるのが分かると思います。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/5f63f49b6b7d98988e1002a4a4f2d6d5-10-1024x576.jpg)
実はこのプログラムでは、クローンを使って青い風船をいくつもコピーしているのです。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/04f86ea9c104d100d663feb8a9a65769-10-1024x576.jpg)
このようにクローンは同じキャラクター(今回でいう風船)を何体もコピーする作業が得意なのです。
![ソラタ](https://programming.soraclock.net/wp-content/uploads/2024/01/3f957081e9ae50e07bce655e77b92a02-300x300.jpg)
一般的にクローンには「同じ遺伝子の生命」と言う意味があります。
スクラッチで「クローン」を使う方法
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/63ead695680eb0c485fa3f134844052f-9-1024x576.jpg)
このパートでは、スクラッチで「クローン」を使う方法を解説していきます。
スクラッチでは「クローン」に関する専用ブロックが3つ用意されています。
クローン関連ブロック | 使い方 |
![]() 自分自身のクローンを作る |
・クローンを作ります |
![]() クローンされたとき |
・作ったクローンに対して、このブロックに 続くブロックの命令を実行します |
![]() このクローンを削除する |
・クローンを削除します |
3つのブロックの使い方を視覚的に説明すると下の画像のようになります。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/7d2a8a5d380f463388d1c8d4512bef57-9-1024x576.jpg)
スクラッチにおけるクローンの使い方を覚えたところで、クローンを使った簡単なプログラムの作成をしてみましょう。
「クローン」を使った簡単なプログラムを作ろう
【プログラムの説明】
・緑色の旗🚩をクリックするとプログラムが動きます。
・0.5秒ごとにランダムな場所に風船が生成されます。
・赤い丸ボタンでプログラムを停止します。
このパートでは、クローンを使った簡単なプログラムの作り方を解説していきます。
今回作成するプログラムは、先ほど参考プログラムとして紹介した「0.5秒ごとに風船を生成するプログラム」になります。
プログラムを作る手順がこちらになります。
プログラムを作る手順
- 【手順①】ステージの背景を変える
- 【手順②】キャラクターを表示する
- 【手順③】風船のコードエリアを編集する
【手順①】ステージの背景を変える
プログラムを作る手順の1つ目が「ステージの背景を変える」になります。
最初に以下のURLをクリックしてスクラッチの公式サイトにアクセスします。
スクラッチは誰でも無料で利用することができます。
アクセスしたら、チュートリアルの「✕閉じる」をクリックして、チュートリアルを閉じましょう。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/60275ab58ebd7cd921d15fb49998721b-9-1024x576.jpg)
次に画面右下にある「背景を選ぶ」をクリックします。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/9d831d187199270f191b3999ca596311-6-1024x576.jpg)
選ぶことができる背景の一覧が表示されるので、「Colorful City(カラフルな街)」をクリックします。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/c64c5ece666a6407486987541305a212-8-1024x576.jpg)
すると、ステージの背景が「Colorful City(カラフルな街)」に変わったのが確認できます。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/a402c696bf493a873c765923653c07e6-8-1024x576.jpg)
以上で手順①背景の変更は完了です。
【手順②】キャラクターを表示する
プログラムを作る手順の2つ目が「キャラクターを表示する」になります。
最初に、ねこのキャラクターは今回のプログラムには不要なので削除しましょう。
スプライトリストの「ゴミ箱アイコン」をクリックします。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/d3f3f00cf1a7f0b7549c20d4afc63a1b-10-1024x576.jpg)
すると、ステージからねこのキャラクターがいなくなります。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/9b4ccaedd1bef1dacccd44245c6b928f-10-1024x576.jpg)
次に今回のプログラムで利用する風船を表示させましょう。
画面右下にある「スプライトを選ぶ」をクリックします。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/1d3b263ce6c9c26d37652d4436a0f96a-10-1024x576.jpg)
選択できるスプライトの一覧が表示されるので、「Balloon1(風船)」をクリックします。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/1d88ceb91c7659c8f850f9acae163da9-9-1024x576.jpg)
すると、風船がステージに追加されます。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/cb0bebe26f4ed333f0858ac401d32275-8-1024x576.jpg)
以上で手順②キャラクターの表示は完了です。
【手順③】風船のコードエリアを編集する
プログラムを作る手順の3つ目が「風船のコードエリアを編集する」になります。
最初にオリジナルの風船を制御するプログラムを作ります。
「🚩が押されたときブロック」を、コードエリアにドラッグして置きます。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/c9552d0133d0f4a2a4f77168fb145539-8-1024x576.jpg)
次に「隠すブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/e3d26dbc97f4538e6bb4872c4801cebd-8-1024x576.jpg)
次に「ずっとブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/a696c9859391dafa55613beeb4d0df7c-7-1024x576.jpg)
なお、「ずっとブロック」について詳しく知りたい方は7日間で学ぶスクラッチ応用編【1日目】をご覧ください。
次に「自分自身のクローンを作るブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/55c8bf14835ebb73a274740f021f5807-6-1024x576.jpg)
次に「1秒待つブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/285ad5b6b50d16ac0d0bca67c9e8953a-7-1024x576.jpg)
次に「1秒待つブロック」の「1秒」を「0.5秒」に変更します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/7a0dcd13f8d3251d5a149a1255ac7996-6-1024x576.jpg)
ここまではオリジナルの風船を制御するプログラムになります。
ここからはクローンの風船を制御するプログラムを作っていきましょう。
最初に「クローンされたときブロック」を、コードエリアにドラックして置きます。(先ほどまでのブロックには結合しません。)
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/45e645353c52af061f80af60f346190d-6-1024x576.jpg)
次に「x座標を()、y座標を()にするブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/180801fa1135fb2f9b1d3ae25cb678f0-6-1024x576.jpg)
次に「x座標を()、y座標を()にするブロック」のy座標の数値を「-130」に変更します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/24faa776559c2a19be903453b613f526-3-1024x576.jpg)
次に「1から10までの乱数ブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/91e7a8680d4008faa58b774259817fe6-4-1024x576.jpg)
なお、「乱数」について詳しく知りたい方は7日間で学ぶスクラッチ応用編【5日目】をご覧ください。
次に「1から10までの乱数ブロック」の数値を「-240から240」に変更します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/3265133c13d3b0b9fb53d46133fc3b7b-5-1024x576.jpg)
この「-240から240」はキャラクターのステージ上の座標を表しています。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/91e7a8680d4008faa58b774259817fe6-1024x576.png)
「スプライトリストと座標の関係」について詳しく知りたい方は7日間で学ぶスクラッチ応用編【4日目】をご覧ください。
次に「表示するブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/508c1cbe28de2cfa3f15dd6ed1747c2b-4-1024x576.jpg)
次に「ずっとブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/84cf2338df598a65f7626d84e74cce87-5-1024x576.jpg)
次に「y座標を10ずつ変えるブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/90f53dd5e7b2786c275e48a057dcc2d0-3-1024x576.jpg)
次に「もし~ならブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/e031a4913536a99dc54f681a10f9fcae-3-1024x576.jpg)
なお、「もし~ならブロック」について詳しく知りたい方は7日間で学ぶスクラッチ応用編【2日目】をご覧ください。
次に「マウスのポインターに触れたブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/1e747160b568df1ae5b7e89208dffdcd-3-1024x576.jpg)
次に「マウスのポインターに触れたブロック」の「マウスのポインター」を「端」に変更します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/c3e864edb0d71f4412ee8610bda3783d-3-1024x576.jpg)
最後に「このクローンを削除するブロック」を、コードエリアにドラックして下画像のように先ほど置いたブロックに結合します。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/d480ff56e1ade0d4411ae46069715ad9-3-1024x576.jpg)
以上で手順④風船のコードエリアの編集は完了です。
風船のコードエリアの全体像が以下になります。
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/bece3f6e77df7232f66116217798a4e5-2-1024x576.jpg)
プログラムが完成したので、🚩をクリックしてプログラムが正常に動作することを確認しましょう。
7日間で学ぶスクラッチ応用編【最終日】のまとめ
![Scratch](https://programming.soraclock.net/wp-content/uploads/2024/01/a6c49eeccf0afc59106f0d076aa0dc66-3-1024x576.jpg)
「7日間で学ぶスクラッチ応用編」の最終日では、「クローン」について解説してきました。今回の内容をまとめると以下になります。
まとめ
- 「クローン」とはキャラクターをコピーすることができる機能のこと
- スクラッチにはクローン機能を利用するためのブロックが3つ用意されている
- クローンを利用することで、風船を無限に生み出すプログラムを作ることができる
「7日間で学ぶスクラッチ応用編」の学習は本日で終了です。ゲーム開発に進みましょう。
以下のサイトの画像を引用しています
・スクラッチ 公式サイト