サイトについて      連絡先   検索

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

はじめに

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

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

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

コードの作成

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

19

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

23

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

24

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

25

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

26

実行方法

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

30

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

31

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

32

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

33

クラス、構造体

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

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 when-key-pressed when-sprite-click

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

9

メッセージ

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

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

23

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

broadcast-message broadcast-message-wait

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

when-recive-message

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

条件分岐、If 文

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

if

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

if-else

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

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

touching-position equal

ループ、For 文

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

for-loop

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

until-loop

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

do-loop

foreach はありません。

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

デバッグ

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

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

wait-second wait-until

エラー処理

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

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

46

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

コメント

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

7

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

8

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

ヘルプ

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

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

Wiki

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

チュートリアル

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

5

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

6

カード

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

8

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

9

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

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