ブロックとスクリプト
ブロックとは『〇歩動かす』『〇度回す』のような動作を表す部品です。
スクリプトとは、ブロックを組み合わせてひとまとまりにしたものです。
ブロックの分類(形)
Scratchにはいろいろな形のブロックがあります。形によって使い方(組み合わせ方)が違うので、ひととおりまとめてみました。
普通のブロック(スタックブロック)
左上に半円形の凹み、左下に半円形の出っ張りがある形のブロックをスタックブロックといいます。この凹みと出っ張りの部分が噛み合うようにブロックを組み合わせていくので、上にも下にも他のブロックを重ねることができます。
スタックブロックには、『動き』『見た目』『音』などいろいろな働きのものがあります。
一番上のブロック(ハットブロック)
左上にはゆるやかな丸みがあり、左下に半円形の出っ張りがある形のブロックをハットブロックといいます。この形のブロックは下にしか他のブロックを繋げられないので、ハットブロックは必ずスクリプトの一番上になります。
ハットブロックは『どうするとスクリプトが開始されるか』を表しています。
一番下のブロック(キャップブロック)
左上に半円形の凹みがある形のブロックをキャップブロックといいます。この形のブロックは上にしか他のブロックを繋げられないので、基本的にスクリプトの一番下に使います。C型ブロックにはめ込むブロック(の塊)の一番下にもキャップブロックを使うことができます。
凹みに他のブロックをはめ込めるブロック(C型ブロック)
右側に大きな口があいているブロックをC型ブロックといいます。口が2つあいて『E』のような形のものもありますが、まとめてC型ブロックです。この口の部分には他のブロック・ブロックの塊をはめ込むことができます。はめ込むブロック(の塊)の大きさに応じて自動的に口が広がります。
長円形の穴にはまるブロック(値ブロック)
長円形をしたブロックを値ブロックといいます。他のブロックの長円形の穴にはめ込んで使います。
このブロックは数値や文字列などを表し、はめ込み先のブロックの動作や条件の『値』を決める役割があります。『スプライトのX座標』『音量』などの値を読み取る・四則演算などの計算を行うなど様々なブロックがあります。
六角形の穴にはまるブロック(真偽ブロック)
六角形のブロックを真偽ブロックといいます。他のブロックの六角形の穴にはめ込んで使います。
このブロックは真偽値(条件が成立している/成立していない)を表し、はめ込み先のブロックの動作を決める役割があります。
ブロックの分類(色)
Scratchには様々な色のブロックがあります。この色は機能のカテゴリと対応しています。
青色(動き)
青いブロックは『動き』カテゴリです。
『〇歩動かす』『〇度回す』など、スプライトの動きを制御するためのスタックブロックが多く含まれているほか、スプライトの『x座標』『y座標』『向き』を表す値ブロックがあります。
紫色(見た目)
紫色のブロックは『見た目』カテゴリです。
『次のコスチュームにする』『大きさを〇%にする』『次の背景にする』など、スプライトや背景の見た目を制御するためのスタックブロックと、『コスチュームの番号』『大きさ』などの値ブロックがあります。
赤紫色(音)
赤紫色のブロックは『音』カテゴリです。
『「ニャー」の音を鳴らす』『音量を〇%にする』など音を制御するスタックブロックと、『音量』を表す値ブロックがあります。
黄色(イベント)
黄色のブロックは『イベント』カテゴリーです。
イベントとは『が押された』『スペースキーが押された』などスクリプトを開始するきっかけとなる出来事のことで、イベントカテゴリにはいろいろなイベントに対応したハットブロックがあります。また、他のスクリプトなどにメッセージを送信してイベントを発生させるスタックブロックもあります。
オレンジ(制御)
オレンジ色のブロックは『制御』カテゴリーです。
『〇秒待つ』などのスタックブロックと、スクリプト実行の流れを制御するC型ブロック、そして『すべてを止める』『このクローンを削除する』のキャップブロックがあります。
空色(調べる)
空色のブロックは『調べる』カテゴリーです。
『スペースキーが押された』『マウスが押された』などの真偽ブロックや、『マウスのx座標』『音量』などの値ブロック、『〇と聞いて待つ』などのスタックブロックがあります。
緑色(演算)
緑色のブロックは『演算』カテゴリーです。
四則演算や文字列を操作する値ブロックや、数値の大小比較や論理演算を行う真偽ブロックがあります。
橙色(変数)
橙色(制御より赤味が強い)のブロックは『変数』カテゴリーです。
変数の値をセット・変更するなどのスタックブロックと、変数そのものを表す値ブロックがあります。
その他
その他、拡張機能のブロックが多数あります。
スクリプトの動作
ブロックの組み合わせ方
スクリプトは必ず一番上にハットブロックを置き、その下に任意の個数のスタックブロック、C型ブロックを並べていきます。
キャップブロックはスクリプトの一番下、またはC型ブロックの中に挿入するブロックの一番下に置くことができますが、必ずしもスクリプトの一番下をキャップブロックにしなければいけないわけではありません。
スクリプトの動作
スクリプトはハットブロックに書かれた条件が満たされた・イベントが発生したときに開始されます。並んだブロックを下に向かって順に実行し、一番下またはキャップブロックに至ると停止します。
制御ブロック(C型ブロック)の口の中に挿入されたブロックについては、制御ブロックの種類によって繰り返し実行されたり、条件が成立しないと実行されなかったりします。
複数のスクリプト
スクリプトは複数作ることができ、それぞれが独立して動作します。
たとえば、下のような2つのスクリプトを作ってみましょう。
左のスクリプトは、をクリックすると開始されます。キャラクター(Scratchキャット)が画面を左右に往復するアニメーションのスクリプトです。をクリックして停止するまで動き続けます。
右のスクリプトは、SPACEキーを押すと開始されます。『ニャー』という鳴き声を1回発すだけですぐ終了します。
では動かしてみましょう。
このように、片方のスクリプトが動いている間に、それとは無関係にもう一つのスクリプトを動かすことができるのが判ります。
コメント