基本機能

Scratchの使い方には、オンライン(インターネットで使用)とオフライン(インターネット回線がなくてもアプリで使用できる)があります。
オンラインでの使用もサインイン(Scratchのアカウントが必要)して使用する場合と、サインインせずに使用する場合で機能に違いがあります。

サインインをすると全ての機能(オンライン上に作品(プロジェクト)を保存できたり、コミュニティ)が利用できます。

目次
  1. Scratch画面
    1. 画面各部の名称と機能
    2. 座標について
    3. ブロックの作業(ブロックとカテゴリー、マウスの右クリック)
    4. プロジェクト(自分の作品)の保存・呼び出し・・・児童IDとの関係
  2. プログラミングの基本
    1. 順次処理
    2. 繰り返し(反復)処理
    3. 条件分岐処理
    4. 変数の使い方
    5. 定義(関数)の使い方
  3.  

1.Scratch画面

 (1)画面各部の名称と機能

【①ステージ・④スプライトリスト・⑤背景】(舞台装置・・・ハード)
 スプライト(キャラクター)が演技する舞台のこと。登場するスプライト(役者)を、④スプライトリストから選んで舞台に登場させる。ステージの舞台を作る大道具は、 
 ⑤背景から選んで設定する。
 登場するスプライトはネコだけではありません。登場するスプライトごとに演技は違いますから、プログラムも登場するスプライト毎に作ります。背景も変化する場合は背景もプログラムで変化させます(例えば、野球場(背景1)でプレイをした後、部屋(背景2)に戻りベッドで休む)。

 ①ステージ(舞台)と⑤背景、④スプライトリスト(役者)が一つのグループのイメージ。
 例えば、ミュージカルの場合大道具係「⑤背景」を作り、メイクさん達が「④役者(スプライト)」の顔や衣装を整え、役者が「①舞台」に登場する。

【②ブロックパレット・③コードエリア】(脚本・演技・・・ソフト)
 ④スプライトにどのような演技をさせるか、その脚本がプログラムに当たる。ステージに登場するスプライト毎にプログラミングをし、また、背景を変えるなどの指示をするプログラミングもある。②ブロックパレットから③コードエリアにブロックをドラッグして「セリフを集めて脚本を作るように」「ブロックを重ねてプログラム」ができる。プログラムを作ることをプログラミングと言う。

【動画でScratchの画面各部の機能を見ましょう】
動画を2本準備しました。
A)Scratchのステージ・背景・スプライトリストなど、ハード部分(舞台装置部分)の説明。
B)コードエリア・ブロックパレットと言った、プログラミングに関係するソフト部分の説明。

(2)座標について

Scratchは、ゲーム作りには適したプログラミング言語です。特にゲームにおいて、スプライトが画面のどこにあるか、この位置を決めるのが座標です。
★座標に限りませんが、Scratchのブロックへ入力する数字は「半角」数字で入力します。半角数字でないと、Scratchは数字だと分からず動きません。

X座標(左右の位置)
①画面を上下二つに分割する横線を引きます。(この線をX軸と言います)
②線の中央を0とします。
③0から右に、1、2、3、・・・と1ずつ増やしていきます。
④0から左は、−1、ー2、ー3と「ー」の数字が1ずつ増えていきます。
⑤0から横の左右の位置を表すこの点をX座標と言います。

Y座標(上下の位置)
①画面を左右二つに分割する縦線を引きます。(この線をY軸と言います)
②線の中央を0とします。
③0から上に、1、2、3、・・・と1ずつ増やしていきます。
④0から下は、−1、ー2、ー3と「ー」の数字が1ずつ増えていきます。
⑤0から縦の上下の位置を表すこの点をY座標と言います。

実際のScratchの画面は、
X座標(左右)は、0から右に240、0から左に-240。
Y座標(上下)は、0から上に180、0から下に-180。
原点(X座標0、Y座標0)を中心に、最大半径180の円を描くことができる。

ブロックのカテゴリー「動く」の中に、座標関連のブロックが8つもある。

「x座標○、y座標△」にする、「何秒でx座標○、y座標△」に変える、・・・・
ゲームなどでは、座標は必須アイテム。


座標の説明

 

(3)プログラミング作業(ブロックとカテゴリー)

ブロックパレットにはブロックコードは沢山ありますが、機能別に分類したのがカテゴリーです。カテゴリーを理解して、探したいブロックを効率的に見つけられるようにしましょう。その為には、実際にブロックを使ってプログラムを作り、ブロックがどのように動くか試してみるのが一番です。ブロックの機能を知ることは、Scratchcでは非常に大切です。Scratch独特のブロックコードもありますので、実際に動かさないと理解できません。

 ①動き(スプライトをステージで演技させる(動かす)ブロック)

「◯歩動かす」の◯には数字が入るが、半角数字でないとプログラムは機能しないので注意。数字は大きいほど動く速度が速くなる。
度数の関係で3種類(15度右に回す、15度左に回す、90度に向ける)ある。
「右に回す」・「左に回す」は、スプライトが進む方向が左右○度と言うことでわかりやすいが、「○度に向ける」は相対的でなく絶対的に方向を指定。進む方向が「真上を0度」として「右に進む場合は90度」、「真下に進む方向の場合180度」、左方向は「ー(マイナス)」が付く。座標については「(2)座標について」をみてください。

カテゴリー「動き」のブロックを使ったサンプルブログラム
スプライトを動かすには、「10歩かす」と座標による移動の2種類がある。「10歩かす」の場合は歩き出す時の「◯度に向ける」によって、歩く方向が決まるので注意が必要。上の図のように逆さまの状態で動くことになる場合もある。
「◯歩動かす」と「見た目」カテゴリーのブロックに「コスチューム」があり、滑らかに動きを出すのに使われる。


 ②見た目(スプライト・背景の見た目(外観)を変えるブロック)

「見た目」は、スプライトがどのように見えるか(外観(大きさ・色)や話すこと・考えること)。ステージの背景(外観)も変化させる。
アニメに必要な スプライトを歩いているように動かす、鳥が羽ばたく動作もコスチュームブロックを使う。隠れ(見えなくし)たり、再度表示したりできる。


 ③音(いろいろな音を出したり、音の大きさを変えるブロック

スプライト毎に出す音は違います。ネコはニャー、馬はヒヒーン、鳥はピー。
音量(音の大きさ)も大きくしたり、小さくしたりできます。楽器は拡張機能を使うと演奏ができます。


 ④イベント(プログラムを開始するきっかけのブロック)

イベントとは、プログラムを開始するきっかけのブロックです。
代表的なブロックは、「旗」のブロックです。複数のスプライトでこの「旗」が使用されていると、「緑の旗」をクリックすると、全ての「旗」が連動してクリックされたことになります。
「(スペース)キーが押されたとき」は、(スペース)以外にも矢印キー(→、←、↑、↓)、文字・数字キー(a、b、c、・・・1.2.3)などのキーを選択できる。
その他に「(メッセージ)を送る」プログラムは、プログラムを開始する判断をプログラムが行うブロックです。


 ⑤制御(条件繰返しやなどコードを制御するブロック)

制御、調べる、演算、変数は、プログラムの機能の中心的な役割を担当する。
条件や繰り返し回数でスプライトの行動をコントロール、プログラムを一時停止させたり、全ての活動を待たせたり、止めたりできる。
また、ゲームでよく使われるクローンもこのカテゴリーのブロックで対応。


 ⑥調べる(質問をしたり、状況・変化を調べたりするブロック)

1段目の「『質問』と『答え』」は、「答え」を変数に入れる時によく使われる。(例:「座標とキーの割り当て(方向付き)」の『進む方向は何度にしますか』の答えが「()度に向ける」に入る)
2段目は、ゲームなどで条件式と一緒によく使われる。「〜に触れたなら〜する」のような使い方。
その他、年月日・時間などに関連して調べることができるブロックなどがある。


 ⑦演算(計算や等しい・大小など比較をするブロック)

上の一番上の段は、計算で使う加減乗除(+、ー、✖️、÷)と乱数。乱数は下の(5)定義(関数)の使い方「『ルーレット』ゲーム」で使っている。止まる位置が毎回違うのは乱数の効果。
2段目・3段目は、条件でよく使われる。ルーレットでも、「もし『答え=停止位置』ならば『大当たり!』、そうでなければ『残念でした』」。
4段目はScratchの独特なブロック。「(りんご)と(バナナ)」は、スプライトが話をするときに使う(使用例:(4)変数の使い方「変数ブロッックと演算ブロック」で、「『合計』『変数C()』です。このまま待ってね」など)


 ⑧変数(変数は1つの文字や数字を入れる箱、リストは複数)

2つの数字の足し算練習をしたい。「◯+△=□」の◯と△を色々な数字にして、簡単に答えが出せるプログラムを作りたい。
2つの箱を考えます。「Aの箱」と「Bの箱」にてきとうな個数のボールを入れます。
「Aの箱」と「Bの箱」のボールを「Cの箱」に入れて、「Cの箱」のボールの個数が合計になります。
変数AはAの箱、変数BはBの箱のことです。A+B=C
Scratchでは、「変数Aを()とする」ブロック、「変数Bを()とする」ブロック、そして計算(演算)ブロック[A+B]を使うと簡単に計算ができます。(ご参照:(4)変数の使い)


 ⑨拡張機能を追加(Scratchの機能を追加できる)

Scrartchのブロックカテゴリーの一番下に「拡張機能の追加」のアイコンがある。このアイコンをクリックすると、新しいカテゴリーを一覧表示でき、そこから追加できる。
下のサンプルプログラムは、いくつかの拡張機能を追加して作成している。

拡張機能:ペン

最も基本的な拡張機能ペン。
スプライトにペンを持たせて線を描くことができる(スプライトが動いた後が線になる)。

拡張機能:音楽

色々な種類の楽器の演奏ができる。
演奏楽器を選択するのに条件分岐
4小節を繰り返すのに定義を使用。

拡張機能:「音声合成」と「翻訳」

スプライトから、「何でも好きなことを日本語で入力してください」と言われ、日本語で入力すると英語で喋って、その後、吹き出しに英文が表示される。

 

 

(4)プロジェクト(自分の作品)の保存・呼び出し・・・アカウントとの関係

Scratchに会員登録(アカウントの取得)するには、メールアドレスが必要です。
しかし、児童のメールアドレスがない場合でも、教師が教師用アカウントを使って、児童用アカウントを作成することは可能です。
児童用アカウントがあれば、サインインができます。サインインができると、作品(プロジェクト)をScratch内に保存したり、コミュニティに参加(コメントの投稿、自分のプロジェクトの公開、REMIXしたプロジェクトの公開)できます。

A)(オンライン)サインインしていない場合(アカウントなし)
 ①保存:ファイル → コンピュータに保存する → 名前をつけて保存
 ②呼び出し:ファイル → コンピュータコンピューターから読み込む
 

B)(オンライン)サインインしている場合(アカウントあり)
 ①保存:ファイル → 直ちに保存
 ②呼び出し:自分のアカウントをクリック → 私の作品をクリック

C)オフラインの場合
 ①保存:ファイル → コンピューターに保存する → 名前をつけて保存

 

2.プログラミングの基本

「プログラムの基本3パターン」(「プログラミング・ツールについて」)に詳しく書いてあるので見てください。
ここでは、具体的にScratchのプログラムを動かして実際に確認してみます。

(1)順次処理

 ブロックを上から順番に実行するプログラム。「緑の旗」の下にブロック「10歩動かす」を10個重ねたプログラム。実行すると10歩✖️10個=100歩動く。
「順次処理」・・・・・・ここをクリック

(2)繰り返し(反復)処理

「繰返し」のプログラム・・・ブロック「10歩動かす」は1個だけだが、繰り返しブロックに「10回」と指定したので、「10歩動かす」を10回繰り返すプログラム。
「繰返しブロック」・・ここをクリック

(3)条件分岐処理

①「条件分岐」基本形・・・ここをクリック
②バージョンアップ版・・・ここをクリック

(4)変数の使い方


Scratchでは、「変数Aを()とする」ブロック、「変数Bを()とする」ブロック、そして計算(演算)ブロック[A+B]を使うと簡単に計算ができます。

変数ブロックと演算ブロックの使い方

下のボタンで、左のビデオのプログラムを実際にやることができます。
ビデオは、質問の答えを変数に入れる応用形です。
変数ブロックに直接数字を入れる基本形でもやってください。
ビデオを見てから、やってみてください。

 (5)定義関数)の使い方

「定義」を使うと、命令(プログラム)をまとめ一つの定義ブロックにまとめることができます。定義が便利なのは、いくつもの命令がある場合に、各命令ごとに定義ブロックを作ると、プログラム全体がスッキリ分かりやすくなります。

例として「ルーレット」のプログラムを作ってみました。まず、「ルーレット」をやってから説明をしましょう。

「ルーレット」ゲームのプログラムの解説
「ルーレット」ゲームは、大きく分けると2つのプログラムからできています。
 ①正多角形を作図するプログラム、
 ②正多角形の頂点を当てるルーレットのプログラム
「定義」の機能で、「N角形作図」と「ルーレット」と言う2つの定義に分けています。

一つのプログラムだと、大きな(ブロックがたくさんの)プログラムになって、分かりにくい。
プログラム本体が、2つの定義ブロックで構成されていると明確で分かりやすい。修正する場合などにも「N角形の作図」部分か、「ルーレット」部分か、分かりやすいので作業も楽。