LESSON0{{lesson.no}}
  • スクラッチの基礎知識
  • プロジェクトの作成方法

スクラッチの基礎知識

スクラッチとは

スクラッチはアメリカのMIT(マサチューセッツ工科大学)で開発されたビジュアルプログラミング言語です。

世界中のたくさんの人に利用されており、2020年からはじまった小中学校のプログラミング教育の教材としても採用されました。

スクラッチマスコットキャラクター
マスコットキャラクター

スクラッチをはじめる

スクラッチの利用はWEBブラウザを使って行います。プロジェクトを作るだけでなく、作ったプロジェクトを公開したり、他の人が作ったプロジェクトを見たり、触ったりすることができます。

スクラッチ公式サイト
スクラッチ公式サイト
https://scratch.mit.edu

コードブロック

通常プログラムは、コードを書くことでプログラミングを行いますが、スクラッチはコードブロックという処理が書かれたブロックを重ねることで、プログラミングを行います。

簡単ではありますが、プログラム的思考がしっかりと組み込まれており、プログラミング勉強の第一歩として最適なプログラムです。

コードブロック
スプライトを「10歩動かす」
という処理をもつブロック

プロジェクトの作成方法

プロジェクトとは

スクラッチではプログラミングで作成する1つの作品を、プロジェクトと言います。図はスクラッチのプロジェクト作成画面です。この画面を一つ一つ見ていきましょう。

プロジェクト作成画面

ステージ

作っている作品の結果を確認する最も重要なエリアです。追加したスプライト(キャラクター)や背景、作成したプログラムによる動きなどを確認することができます。

ステージ

スプライト

スプライトとはプロジェクトに配置するキャラクターです。初期状態では、キャラクターのネコが選択されています。このエリアで、スプライトの選択、新規追加、削除、状態の変更などを行います。

スプライト

ステージの背景

ステージの背景を指定するためのエリアです。このエリアで、背景の追加、背景画像のアップロードなどを行います。

ステージの背景

ブロックパレット

選択中のスプライト(または背景)に対して、コードブロックを追加するためのエリアです。コードブロックはいくつかのカテゴリに分かれており、左側のカテゴリ名をおすとコードの種類が変わります。

ブロックパレット

コードエリア

ブロックパレットから追加したコードブロックに対する指定をするためのエリアです。コードブロックの合体、分解、順番の変更、値の変更など、最もよく使うエリアと言えるでしょう。

コードエリア

コスチューム

コスチュームとは、スプライトに属する別の状態の事で、スプライトに2つ以上の状態をもたせ、それをプログラムで切り替えてることで、動きをつけることが可能です。このエリアでコスチュームの追加、編集、順番の変更、削除などの処理を行います。

コスチューム

背景

コスチュームと同様に、ステージの背景の中に別の背景を用意し、プログラムで切り替えることができます。このエリアで背景の追加、編集、順番の変更、削除などの処理を行います。

背景

選択中のスプライト(または背景)に対して、音の指定をするためのエリアになります。このエリアで、音の追加、音色の加工、順番の変更、削除などの処理を行います。

音
  1. {{i}}
  • プログラムの3つの動き
  • イベント・変数・その他基礎概念

プログラムの基礎知識

プログラムの3つの動き

複雑な処理ができるプログラムですが、基本的には、順次型、分岐型、反復型の3種類の動きを組み合わせて作られています。

一般的には、3つの動きをフローチャートを使ってあらわしますが、スクラッチにはブロックコードがあるので、3つの動きとブロックの関係について説明します。

フローチャートの例
フローチャートの例。

プログラムの動き方1 - 順次型

順次型は最も一般的な処理で、上から順番に一つずつ実行します。

スクラッチでは、この図のように、普通に(他のブロックを囲まないで)ブロックを重ねた状態が順次型になります。

プログラムの動き方1 - 順次型
スクラッチで順次型のフローでコードを並べた例。上のコードから順番に実行される。

プログラムの動き方2 - 分岐型

順次型は常に同じ処理を行うので、状況によって違う処理を行うことはできません。しかし実際のプログラムでは、状況によって別々の処理をさせたい場合はたくさんあります。そのような場合に使うのが分岐型の処理で、条件を満たした場合にのみ処理を実行します。

スクラッチでは「もし」というブロックが分岐型にあたります。「もし」のブロックで挟まれたブロックは、指定した条件を満たしているときのみ実行されます。

一般的なプログラム言語では、if文が分岐型として使われます。

プログラムの動き方2 - 分岐型
スクラッチの「もし」ブロック。この例では「端に触れた」という条件を満たした場合に、挟まれた2つの処理を実行する。

プログラムの動き方3 - 反復型

同じ処理を繰り返して実行したいときに使うのが反復型になります。

スクラッチでは「ずっと」というブロックが反復型にあたります。「ずっと」のブロックに挟まれたブロックの処理は、連続して実行されます。

プログラムの動き方3 - 反復型
スクラッチの「ずっと」ブロック。この例では、ブロックに挟まれた3つの処理は繰り返し実行される。

3つの動きのコンビネーション

これら順次型、分岐型、反復型がプログラムの基本的な3つの動きですが、別々に使うのではなく、実際には組み合わせて使います。

例えば分岐型の中に、順次型や反復型を入れたりはもちろん、さらに分岐型を入れることもよくあります。型の組み合わせや、中に入れる回数に制限はありません。

3つの動きのコンビネーション
スクラッチのブロックで、順次、分岐、反復の3つの動きが組み合わさった例。この例では、順次型と反復型の組み合わさったブロックを、反復型である「ずっと」で連続で実行する。

イベント・変数・その他基礎概念

イベント

プログラムが実行されるタイミングのことをイベントと言います。イベントは自分で作るというよりは、プログラムに最初から用意されていて、その中から最も適切なイベントを選んで利用します。

スクラッチではイベントの指定もコードブロックを使います。イベントのブロックは、ブロックパレットの中のイベントカテゴリに用意されています。

スクラッチで利用されるイベントは大きく2つに分けて考えることができます。

イベント
スクラッチのイベントコードブロック。

イベント1 - プロジェクト始動のイベント

スクラッチで作った作品は、緑色の旗のボタンを押すことで実行されます。スクラッチでは、まずこのボタンが押されたイベントでプログラムが動くようにします。

そのためにコードブロックを用意し、その下に旗のボタンが押されたタイミングで実行させたいブロックをつなぎます。

複数のスプライトや背景を同時に動かす場合は、それぞれのスプライトに対しコードブロックを用意します。

イベント1 - プロジェクト始動のイベント
スクラッチで作った作品の公開画面。緑色の旗のボタンはスタートボタンになっている。

イベント2 - ユーザーの操作によるイベント

もうひとつのタイプのイベントは、ユーザーのキーボードやマウスによる操作で発生するイベントです。

それぞれのイベントごとにコードブロックを用意し、実行する処理をつなげます。例え実行する処理が少なくても、用意したいイベントの数だけ、コードブロック群ができることになります。

イベント2 - ユーザーの操作によるイベント
左向き矢印、右向き矢印が押された時にそれぞれ別の処理を実行させたい場合、例え処理が一つしかなくても、コードブロック群は2つ必要になる。

変数

プログラムは高速で計算ができ、一度覚えたものは絶対忘れません。しかし記憶するように命令を設定しないと、一瞬で(次の処理で)記憶から消去します。

プログラムで何かを記憶させたいときに使用するのが変数です。変数は値を記憶するための箱のようなものです。

スクラッチではブロックパレットの変数カテゴリから変数を作ります。それを「もし」ブロックの条件に指定するなど、より高度な処理を作ることができるようになります。

変数
スクラッチではブロックパレットの「変数」カテゴリから変数を作成できる。作成した変数は「もし」ブロックの条件に指定するといった使い方もできる。

初期化とメインの処理

一般的にプログラムは、初期化とメインの処理の2つで構成されることが多いです。「スペースキーが押されたらボールが上から下に落ちる」という処理を例に考えてみましょう。

メインの処理の前に、状態などをリセットして初期状態に戻す処理が初期化です。この例では、ボールをスタート地点に移動するという処理が初期化にあたります。

そして「ボールが上から下に落ちる」という処理がメインの処理になります。メインの処理は初期化のあとに実行させます。

初期化とメインの処理
スペースキーが押されたときのイベントのコードブロック群。初期化を行ったあとに「ずっと」ブロックで連続で動く処理を実行させている。
  1. {{i}}
恐れ入りますが、当サイトは横向きでご覧ください。