スクラッチ 入門と基礎のまとめ

はじめに

Scratch (スクラッチ) 3 の実行の仕方から変数の宣言、イベントやメソッドの作成、ループや条件分岐など基礎的なことをすべてまとめています。

スクラッチが初めての方も、他のプログラミング言語を経験している方も、このページを見ればどういうものかわかります。

  • 目次
    • コードの作成
    • 実行方法
    • クラス、構造体
    • スコープ
    • 変数とリスト
    • 定数
    • プロパティ
    • 演算子
    • データ型
    • メソッド
    • イベント
    • メッセージ
    • 条件分岐、If 文
    • ループ、For 文
    • デバッグ
    • エラー処理
    • コメント
    • ヘルプ

コードの作成

コードは文字ではなく次のようなブロックを使います。1 つのブロックが 1 つの命令になっています。これがスクラッチの最も特徴的なところです。

19

ブロックを右側のコード領域にドラッグします。

23

コード領域に追加されました。これが一般的に言うコードを書くということです。

24

もう一つのブロックを最初に追加したブロックの下に近づけると灰色が表示されます。

25

マウスを離すとブロックがくっついて 1 つの処理になります。このようにどんどんブロックをくっつけてプログラムを作成します。

26
詳しくは「プログラムの作り方と実行方法」をご覧ください。

実行方法

緑の旗が押されたとき ブロックを追加します。これが最初に実行される場所になります。

41

その下に、実行したいブロックを追加していきます。

42

できたら [緑の旗] をクリックします。これがプログラムの実行ボタンです。

32

緑の旗が押されたとき ブロックの下に追加したブロックが、順番にすべて実行されます。

43
詳しくは「プログラムの作り方と実行方法」をご覧ください。

クラス、構造体

クラスや構造体はありませんが、スプライトがクラスのような役割を持っています。

47

コードはそのスプライトやステージに対して動作します。

スプライトはクラスではないのでインスタンスなどもありません。代わりにスプライトをコピーする「クローン」という機能があります。

詳しくは「制御ブロックの使い方」をご覧ください。

スコープ

基本的にすべてのスコープは Private です。作成した自身のスプライトから参照できます。

変数とリストは Public か Private を選択できます。ローカルはありません。

変数とリスト

変数

[新しい変数を作る] をクリックして変数を宣言できます。データ型はありません。

49

値を設定します。データ型が存在しないので、数値や文字列や真偽値などなんでも入れられます。

set-variable

値を取得します。

variable

リスト

コレクションであるリストを宣言できます。配列はありません。

[リストを作る] をクリックしてリストを宣言できます。

53

リストに項目を追加します。

add-list

リストの項目を削除します。

delete-list-index

リストの項目を取得します。

item-list-index

詳しくは「変数ブロックの使い方」をご覧ください。

定数

定数や列挙体 (Enum) はありません。ReadOnly もありません。

プロパティ

プロパティはありません。

演算子

算術演算子

add subtract multiply division

ブロック名 演算名 使用例 結果
+足し算1 + 23
-引き算2 - 11
*掛け算2 * 36
/割り算7 / 23.5
をで割った余り余り5 を 3 で割った余り2
を四捨五入四捨五入1.5 を丸める2
の公式絶対値-2 の絶対値2
文字結合Tips と foundTipsfound

公式には sin, cos, tan や log など数多くあります。

比較演算子

more-than less-than equal

ブロック名 演算名 使用例 結果
>より大きい1 > 2false
<より小さい1 < 2true
=等しい1 = 2false

論理演算子

and or not

ブロック名 演算名 使用例 結果
かつ論理積true かつ true
true かつ false
false かつ false
true
false
false
または論理和true または true
true または false
false または false
true
true
false
ではない論理否定true ではない
false ではない
false
true
詳しくは「演算ブロックの使い方」をご覧ください。

データ型

データ型はありません。数値、文字列、論理値が使用できます。

数値は整数も小数も扱えます。桁数も限界がないくらい多いです。0.1 を繰り返し計算すると誤差が発生します。数値に文字列など指定すると 0 として扱われます。

論理値は truefalse があります。

型が不正になることはありません。数値を入れた後に文字列を入れられます。

メソッド

[ブロックを作る] をクリックしてメソッドを宣言できます。スコープは Private のみです。作成した自身のスプライトから使用できます。

19

メソッドが作成されます。これにブロックを追加して処理を作成します。引数には数値や文字列や真偽値を設定できます。

20

呼び出し ブロックからメソッドを呼び出せます。

25
詳しくは「ブロック定義、メソッドや関数の作成」をご覧ください。

イベント

プログラムを実行したときや、スプライトを押したときなど、いろいろなイベントがあります。

green-flag-2 when-key-pressed when-sprite-click-2

イベントが発生したとき、それに追加されている処理が実行されます。

9
詳しくは「イベントブロックの使い方」をご覧ください。

メッセージ

メッセージとは他のスプライトやステージに対して通知する機能です。イベントやメソッドのような動作をします。

メッセージブロックの [▼] をクリックし [新しいメッセージ] をクリックしてメッセージを作成できます。

23

を送るを送って待つ ブロックからメッセージを送信できます。 を送る ブロックを使うと処理が非同期に実行されます。

broadcast-message broadcast-message-wait

メッセージが送られると を受け取ったとき ブロックがイベントのように動作します。

when-recive-message

複数のスプライトを同時に動かしたいときなどにメッセージを使います。

詳しくは「メッセージを使って他のスプライトを操作する」をご覧ください。

条件分岐、If 文

条件に一致するときにブロックの中の処理が実行されます。

if

条件に一致するときとしないときで処理を分けられます。

if-else

3 つ以上に分岐するには上記のブロックを組み合わせます。else if や switch 文や select 文などの専用のブロックはありません。

条件を指定するには、調べるブロックや演算ブロックの次の形をしたものを使います。

touching-position equal

詳しくは「もし~なら、条件分岐 if 文」をご覧ください。

ループ、For 文

指定した回数ループします。for 文です。

for-loop

条件が一致するまでループします。until 文です。

until-loop

ずっとループします。while true 文です。

do-loop

foreach はありません。

continue や break などループを抜ける命令はありません。

詳しくは「繰り返す、ループ for 文」をご覧ください。

デバッグ

デバッグ機能はありません。

秒待つ ブロックや まで待つ ブロックを使って処理の流れを確認したり、ブレークポイントのようなことができます。

wait-second wait-until

詳しくは「デバッグの仕方」をご覧ください。

エラー処理

エラー処理はありません。基本的にエラーが発生しません。

0 で割ると Infinity というエラーを取得します。

46

エラーになってもそのまま処理が続行されます。エラーの値が何らかの値として扱われます。

コメント

コメントを付けたい [ブロック] を右クリックして [コメントを追加] をクリックします。

7

そのブロックと関連付くようにコメントが表示されるので [内容] を入力します。関連付けたくないときは、ブロック以外の部分でコメントを追加します。

8

コメントを付けられます。

詳しくは「コメントを付ける」をご覧ください。

ヘルプ

ヘルプやドキュメントはありません。

代わりに Wiki やチュートリアルやカードがあります。

Wiki

Scratch Wiki」に日本語の Wiki があります。

チュートリアル

チュートリアル」のページから動画で操作を教えてくれます。

5

多くのチュートリアルがあり、日本語で紹介しています。

6

カード

アイディア」のページからカードと呼ばれるものがあります

8

カードにはコードのテクニックが紹介されています。

9

カードはすべて英語ですが画像で紹介しているので、なんとなくはわかると思います。

詳しくは「ヘルプを表示する」をご覧ください。