オリジナルとクローンの混在画像

基本的なブロックの役割

動かしたいスプライトがオリジナル(クローンの対比となる原本の意味)なのかクローンなのか?

そのスプライトを動かすために、新しいブロックをどこに置いたら良いのか?

なんとなく解っているつもり、でも、実はどうなんだろう?
そんなブロックの特性についてご説明します。

オリジナルのスプライトのスクリプト

スクラッチで物語やゲームを作る時に、そのメインキャラクターがひとりで活躍する場合など、
”旗が押されたとき”のブロックの下にオリジナルスプライトの動きのためのスクリプトを作る事になります。

“旗が押されたとき”のブロックの役割

プログラムをスタートさせるのに必ず必要

ゲームスタート時にリストや変数などをリセットする時に使う

オリジナルのスプライトだけに命令をするスクリプトを作る場所となる

メインキャラクターのスプライトが自分のクローンを作らずにオリジナルだけを使う場合は、
いろんなブロックを自由に使ってスクリプトを作成しても何の問題もありません。

しかし、もしメインキャラのクローンをオリジナルと一緒に使うプログラム(例えば分身の術など)の場合は注意が必要です。
どのような注意が必要かは、もう少し下の方で説明をしているので、そこを読んでくださね。

オリジナルとクローンの混在画像

そして、もう一つ理解をしておいて欲しいポイントがあります。

それは、スプライトは”隠す”のブロックで見えていなくてもスクリプト通りに動いているということです。
これはクローンのスプライトも同じですが、画面上に見えていなくても命令した場所に存在していて、
”表示する”と命令をすればすぐに姿を現しますし、隠れたままでも弾を発射する命令をすれば敵を攻撃します。

クローンのスプライトのスクリプト

クローンのスプライトは、オリジナルのスプライトと全く同じ状態で複製され、
そして、”クローンされたとき”のブロックの下のスクリプトのとおりに動きます。

オリジナルのネコ(オリジナルは緑色)から6体のクローンを作るスクリプトと、クローンを作る時の画像です。

クローン途中の画像

オリジナルのスクリプトは:

  • ネコを60度ずつ回転させてクローンを作る

クローンのスクリプトは:

  • 100歩動かして真ん中から離れる
  • 90度に向けて、色を薄くする

上の図の状態は、ちょうど逆さまになった時のクローンが真ん中に作られ、
オリジナルは左上を向いて次のクローンを作る瞬間です。

これから分かるように、オリジナルはクローンを作る度にただ回転をして、
クローンの歩く方向を決めているだけです。

そして、クローンのスクリプトは、
クローンされてから100歩動いて、色や向きを変えていますね。

分身の術のスクリプト

クローンスクリプトのイメージ

”クローンされたとき”のブロックの役割

クローンのスクリプトの命令は一つですが、それぞれのクローンはその命令にその通りに動く。

クローンが6体作られたら、それぞれのクローンに対してそれぞれのスクリプトがあるようなイメージ(上の例では、6つのスクリプトがクローンの順に命令をしている)

それぞれのクローンが作成された直後に、それぞれのクローンへの命令を作る場所となる

変数や乱数を使う事で、スクリプトは一つでもそれぞれのクローンに違う動きをさせることができる(下でクローンの大きさを変える例を紹介)

そら先生そら先生

変数を使う事で、クローンの大きさが変わるスクリプトを紹介します


変数でクローンに違いがでる図

そら先生そら先生

クローンされるたびに大きさが10%ずつ変わるのがわかりますか?

生徒さんB生徒さんB

クローンが少しずつ大きくなってる!!

生徒さんB生徒さんB

”クローンされたとき”のブロックに続くスクリプトはひとつなのに、6つのクローンの位置と大きさは変わるんですね

オリジナルとクローンの両方に関係するブロック

スクリプトの先頭となるブロックに、次のようなイベントのブロックがあります。

この中で、先頭にある”旗が押されたとき”のブロックは、
先ほどの説明にもあったようにオリジナルのスプライトへの命令に使います。

それ以外のブロックはオリジナルとクローンの両方のスプライトへの命令をすることになります。

分身の術を使ったオリジナルのネコを矢印キーを押したときに隠すとき、
”隠す”のブロックはどのブロックの下に入れるのが良いでしょうか?

イベントのブロック

 

○○キーが押された”なら”隠す” という命令を3つのブロックの下において動きを確認してみます。

どのブロックの下が良いかをチェック

  1. 旗が押されたとき: 上向きキーを押すとオリジナルが消える
  2. クローンされたとき: 下向きキーだとクローンが消える
  3. イベントブロックのキーが押されたとき:オリジナルとクローンが消える

生徒さんB生徒さんB

どのブロックの下でも同じだと思ってたけど、全然違うんですね!


Scratchのサイト

また、スプライトをクリックすると右に回るオリジナル、左に回るクローンと動きが別々になりますが、
色はイベントのブロックで命令してるのでオリジナルもクローンも色が変わります。

イベントにあるブロック(”旗が押されたとき”のブロック以外)の役割

これらのブロックの下で作られるスクリプトは、オリジナルとクローンの両方のスプライトへの命令をする

○○キーが押されたとき: ”調べる”にある”○○キーが押された”と同じ意味で、オリジナルとクローンの両方に命令する

このスプライトが押されたとき”マウスポインターが押された”かつ”マウスが押された”と同じ意味で、オリジナルとクローンの両方に命令する

背景とメッセージのブロック: オリジナル、クローンの両方に命令する