広告

【プログラミング入門】【Scratch】11日目 クローン

2022.10.10更新

Scratchでプログラミング入門のタイトル画像になります

プログラミングって難しい!?

そんな事はありません!

Scratch(スクラッチ)を使えばカワイイキャラクター達と一緒にブロックを組み合わせるだけで簡単にプログラミングのキホンを学ぶことができます!

インターネットにつながるパソコンがあればすぐに始められますので「プログラミング授業の参考にしたい!」「まずは軽いプログラミングに触れてみたい!」などなどぜひ当サイトをご利用ください。

クローン

今回は複製を作る「クローン」というテクニックを紹介します。

クローンに必要なブロック

クローンに必要なブロックは「制御」の部分に用意されております。

Scratch、クローンの使い方の説明画像1

このへんのブロックを使います。

クローンを一つ作る

何を言ってるのかわかりづらいと思いますので、まずは「クローン」を使ってプログラミングしてみます。

Scratch、クローンの使い方の説明画像2

実行すると・・・、

Scratch、クローンの使い方の説明画像3

ネコちゃんのクローン(複製)ができました。

「クローンされたとき」ブロックに続けてそのクローンにさせたい動きなどをプログラミングしていく事ができます。

だからどうした?という話ですよね。

この「クローン」を上手に使えばゲームでたくさん敵を出現させたい時などたくさんのスプライトを追加する事なくシンプルにプログラミングする事ができます。

さっそく試してみましょう。

ネコちゃんを3匹出現させる

「クローン」を使ってネコちゃんを3匹出現させます。

せっかくなので「乱数」ブロックも組み合わせて毎回違う場所に出現させてみます。

Scratch、クローンの使い方の説明画像4

何回か旗を押して実行してみると・・・、

Scratch、クローンの使い方の説明画像5

押すたびにネコちゃんが3匹毎回違う場所に出現するのが確認できたと思います。

慣れるまでは少し難しいテクニックになると思いますので少し説明します。

1・元のスプライトを用意する

まずは複製を作る為の元のスプライトを用意します

Scratch、クローンの使い方の説明画像6

今回の場合はネコちゃんが元のスプライトになりますね!

2・元のスプライトを隠す

クローンを使う時に元のスプライトにも動きなどをつけてしまうとプログラムがややこしくなるので元のスプライトはすぐに隠してしまいます。

Scratch、クローンの使い方の説明画像7
Scratch、クローンの使い方の説明画像8

3・クローンを作る

繰り返しなどを使って必要な数だけクローンを作ります。

Scratch、クローンの使い方の説明画像9

そのままだと隠れたままなのでとりあえず表示させております。

Scratch、クローンの使い方の説明画像10

同じ場所に重なっているので1匹に見えますがちゃんと3匹おります。

マウスでネコちゃんをドラッグして確かめてみましょう。

4・クローンの動きを作る

そして「クローンされたとき」に続けてクローンの動きを作っていきます。

Scratch、クローンの使い方の説明画像11

今回は乱数の結果を保存する用の変数を「すべてのスプライト用」で「乱数x」・「乱数y」という名前で用意して、そこに乱数の結果を保存、あらためて「x座標を~、y座標を~にする」ブロックにあてはめる事で座標をランダムに設定しております。

そして初期位置が決まったら表示します。

別に変数を用意しないで「x座標を~、y座標を~にする」ブロックに直接乱数ブロックをはめても大丈夫です。

Scratch、クローンの使い方の説明画像12

こんな感じでクローンを使えば簡単なプログラムでたくさんのキャラクターを扱う事ができます。

りんご拾いゲームを書き換えてみよう!

それでは「繰り返し」と「クローン」を使って9日目にやったりんご拾いゲームを書き換えてみましょう!

背景とりんごのスプライトを一つだけ追加しておいてください。

せっかくなのでりんごが出現する場所をさきほどのように乱数を使ってランダムにしてみます。

同じようにx座標とy座標の乱数を保存する為の変数を用意しておいてください。

ではプログラミングしてみましょう。

クリア処理などの細かい処理はすべて除いて大事な部分だけをプログラミングしていきます。

Sprite1

Scratch、クローンの使い方の説明画像13

ネコちゃんの方はとりあえずの移動処理だけです。

続いて繰り返しとクローンを使ったりんご側の処理です。

Apple

Scratch、クローンの使い方の説明画像14

実行してみましょう。

Scratch、クローンの使い方の説明画像15

「繰り返し」と「クローン」を使う事によってシンプルにプログラミングする事ができましたね!

りんごもランダムな位置に表示されるようになりました!

クローンを作ったあとに「ずっと」ブロックを使って当たり判定をするというよく使われるテクニックになります。

ずっと「もしSprite1に触れたなら」を実行しておりますので旗マークがずっと実行状態になっているのが確認できるかと思います。

Scratch、クローンの使い方の説明画像16

移動してりんごを拾っていきましょう。

Scratch、クローンの使い方の説明画像17

りんごをすべて拾った時点で旗マークが実行状態ではなくなりましたね!

いらないクローンは削除する

必要なくなったクローンは残しておくと思わぬエラーの原因になったり処理速度が落ちる原因になったりもするので削除してしまいます。

そしてすべてのクローンがなくなった時点で「ずっと」を実行しているブロックもすべてなくなるので旗マークの実行状態も消えます。

繰り返しブロックを使うようになるとプログラムが常に実行状態になるのでプログラムが今どこを走っているのかを想像するのも大事になってきます。

広告

動きをつけてみよう!

なんかもの足りないので、もう少し工夫して動きをつけてみましょう。

振ってくるりんごを受け取るみたいなゲームにしてみます。

ネコちゃんのプログラムは下の方で左右に動くだけに変更しました。

Scratch、クローンの使い方の説明画像18

続いてりんごをプログラミングしていきます。

「Apple」

Scratch、クローンの使い方の説明画像19

クローンを作る部分ですが、「1秒待つ」ブロックを間に入れる事で1秒置きにクローンを作る事ができるようになります。

続いてクローンされたときの部分です。

Scratch、クローンの使い方の説明画像20

最初にりんごを画面の上に配置してy座標を少しずつ下げるようにすれば「りんごが落ちてくる」という動きを作る事ができますね!

実行すると・・・、

Scratch、クローンの使い方の説明画像21

次々にりんごが落ちてきてちょっとゲームっぽくなってきましたね!

りんごを取れなかった時も削除する

今回はりんごが下まで落ちてしまった時も削除したいと思います。

「または」ブロックを使って条件を重ねれば簡単に実現できますね。

りんごが下まで落ちてしまった時なので「りんごのy座標が画面下の座標を超えた時」→「りんごのy座標<-180」という処理を加えればりんごが下まで落ちてしまった時も削除する事ができます。

スプライトの現在の「x座標」・「y座標」は「動き」ブロックの下の方にあります。

横の動きもつける

最後に横の動きもつけてりんごがちょっとナナメに落ちてくるというようにしてみましょう。

ナナメ具合もランダムにしたいのでナナメ具合を保存する変数を用意したいのですが、今度は「すべてのスプライト用」ではなく「このスプライトのみ」で用意します。

Scratch、クローンの使い方の説明画像22

「x変化」という名前にしました。

「このスプライトのみ」で変数を用意すると表示がこのようになります。

Scratch、クローンの使い方の説明画像23

それではプログラミングしてみます。

ネコちゃんは変わらないのでりんごのプログラムだけ変更します。

Scratch、クローンの使い方の説明画像24

実行すると・・・、

Scratch、クローンの使い方の説明画像25

りんごがナナメに落ちてくるようになりましたね!

最初にナナメ具合を乱数で取得してそれを「ずっと」の中でx座標に加えていく事で少しずつナナメにずらす事ができます。

ちなみにこのナナメ具合を「すべてのスプライト用」で用意してしまうとその乱数の値が変わるたびに全てのクローンがその方向に動いてしまいます。

動きの部分を工夫すればもっといろいろな動きもできるようになりますのでいろいろと試してみてください。

次回も「繰り返し」ブロックと組み合わせて使う「リスト」というテクニックを学んでいきたいと思います。

次回

12日目 リスト

広告

Copyright 2016 K.N/petitetech.com