更新日:、 作成日:

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

はじめに

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

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

コードの作成

コードのことをスクラッチでは「スクリプト」と言います。

スクリプトは文字ではなく次のようなブロックを使います。

1

ブロックを右側のスクリプト領域にドラッグします。

2

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

3

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

4

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

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

実行方法

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

6

その下に、実行したい命令を追加します。

7

[緑の旗] をクリックします。これが実行ボタンです。

8

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

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

デバッグ

[編集] メニューから [ステップ実行の設定] をクリックします。

10

[ブロックを点滅させる (遅く)] をクリックします。これがデバッグモードです。

11

この状態でプログラムを実行すると、実行されるブロックが黄色く光り、1 つずつ実行されていくのがわかります。

12

処理を止めたいときは右上にある [赤丸] をクリックします。

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

クラス、構造体

クラスや構造体はありません。

代わりにスプライトがクラスのような役割を持っています。

47

クラスではないのでインスタンスなどもありません。

スコープ

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

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

変数

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

14

値を設定します。何度でも変更できます。データ型が存在しないので、数値を入れて、文字列を入れて、また数値を入れることもできます。

15

値を取得します。

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

定数

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

リスト

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

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

17

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

18

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

19

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

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

メソッド

バージョン 2.0 から定義ブロックを使ってメソッドを作成できます。1.4 ではメッセージブロックを使って同じようなことができます。

メソッドを作成するには を受け取ったとき を使います。

21

[▼] をクリックし [新規] をクリックしてメソッドを作成できます。

22

メソッドの処理を追加します。

23

を送って待つ からメソッドを呼び出せます。

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

プロパティ

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

イベント

次の 3 つのイベントがあります。

[緑の旗] をクリックしたときに発生します。

25

これが緑の旗です。

28

[キー] を入力したときに発生します。

26

[マウス] をクリックしたときに発生します。

27

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

29
詳しくは「~されたとき、イベントの作成」をご覧ください。

メッセージ

メッセージとはメソッドのようなイベントのようなものです。

メッセージを作成するには を受け取ったとき を使います。

21

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

22

メッセージの処理を追加します。

23

を送るを送って待つ からメッセージを呼び出せます。 を送る を使うと処理が非同期に実行されます。

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

演算子

算術演算子

31 32 33 34
演算子 演算名 使用例 結果
+足し算1 + 23
-引き算2 - 11
*掛け算2 * 36
/割り算7 / 23.5
を で割った余り割り算の余り5 を 3 で割った余り2
丸める四捨五入1.5 を丸める2
平方根平方根2 の平方根1.414213562373095
と をつなぐ文字結合Tips と found をつなぐTipsfound

この他に sin, cos, tan や log などの公式を使えます。

比較演算子

35 36 37
演算子 演算名 使用例 結果
<小さい1 < 2はい
=等しい1 = 2いいえ
>大きい1 > 2いいえ

論理演算子

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

データ型

データ型はありません。整数も小数点ありの数値も扱えます。桁数も限界がないくらい扱えます。0.1 を繰り返し計算すると誤差が発生します。

数値を指定する箇所に文字列を指定すると 0 として扱われます。

Boolean 型の結果は「はい」と「いいえ」です。

型が不正になることはありません。

条件分岐、If 文

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

41

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

42

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

43

これ以外の分岐はありません。複数の ElseIf や Select や switch はありません。

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

ループ、For 文

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

44

ずっとループします。

45

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

46

For Each や While はありません。

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

詳しくは「ずっと、ループ for 文」をご覧ください。

コメント

コメントを付けるには [スクリプト領域] を右クリックして [コメントを追加] をクリックします。

51

コメントの [内容] を入力します。

52

コメントをブロックにドラッグすると、そのブロックと関連付けできます。

53

関連付いたコメントは常にブロックの隣に表示されます。

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

エラー処理

エラー処理はありません。エラーも基本的に発生しません。すべてキャッチされているようです。

0 で割るときはエラーになりそこで処理止まります。

48

ヘルプ

[ブロック] を右クリックし [ヘルプ] をクリックして、そのヘルプを表示できます。

49

[ヘルプ] メニューから [ヘルプのWebページ] または [ヘルプの画面] をクリックして、すべてのヘルプを表示できます。

50

どちらも英語表記になっています。日本語のヘルプは、このサイトをご覧ください。

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