基本機能
Scratchの使い方には、オンライン(インターネットで使用)とオフライン(インターネット回線がなくてもアプリで使用できる)があります。
オンラインでの使用もサインイン(Scratchのアカウントが必要)して使用する場合と、サインインせずに使用する場合で機能に違いがあります。
サインインをすると全ての機能(オンライン上に作品(プロジェクト)を保存できたり、コミュニティ)が利用できます。
目次
- Scratch画面
- プログラミングの基本
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角形の作図」部分か、「ルーレット」部分か、分かりやすいので作業も楽。