更新日:、 作成日:
スクラッチ 入門と基礎のまとめ
はじめに
Scratch (スクラッチ) 3 の実行の仕方から変数の宣言、イベントやメソッドの作成、ループや条件分岐など基礎的なことをすべてまとめています。
スクラッチが初めての方も、他のプログラミング言語を経験している方も、このページを見ればどういうものかわかります。
コードの作成
コードは文字ではなく次のようなブロックを使います。1 つのブロックが 1 つの命令になっています。これがスクラッチの最も特徴的なところです。
ブロックを右側のコード領域にドラッグします。
コード領域に追加されました。これが一般的に言うコードを書くということです。
もう一つのブロックを最初に追加したブロックの下に近づけると灰色が表示されます。
マウスを離すとブロックがくっついて 1 つの処理になります。このようにどんどんブロックをくっつけてプログラムを作成します。
スポンサーリンク
実行方法
緑の旗が押されたとき ブロックを追加します。これが最初に実行される場所になります。
その下に、実行したいブロックを追加していきます。
できたら [緑の旗] をクリックします。これがプログラムの実行ボタンです。
緑の旗が押されたとき ブロックの下に追加したブロックが、順番にすべて実行されます。
クラス、構造体
クラスや構造体はありませんが、スプライトがクラスのような役割を持っています。
コードはそのスプライトやステージに対して動作します。
スプライトはクラスではないのでインスタンスなどもありません。代わりにスプライトをコピーする「クローン」という機能があります。
スコープ
基本的にすべてのスコープは Private です。作成した自身のスプライトから参照できます。
変数とリストは Public か Private を選択できます。ローカルはありません。
変数とリスト
変数
[新しい変数を作る] をクリックして変数を宣言できます。データ型はありません。
値を設定します。データ型が存在しないので、数値や文字列や真偽値などなんでも入れられます。
値を取得します。
リスト
コレクションであるリストを宣言できます。配列はありません。
[リストを作る] をクリックしてリストを宣言できます。
リストに項目を追加します。
リストの項目を削除します。
リストの項目を取得します。
定数
定数や列挙体 (Enum) はありません。ReadOnly もありません。
プロパティ
プロパティはありません。
演算子
算術演算子
ブロック名 | 演算名 | 使用例 | 結果 |
+ | 足し算 | 1 + 2 | 3 |
- | 引き算 | 2 - 1 | 1 |
* | 掛け算 | 2 * 3 | 6 |
/ | 割り算 | 7 / 2 | 3.5 |
をで割った余り | 余り | 5 を 3 で割った余り | 2 |
を四捨五入 | 四捨五入 | 1.5 を丸める | 2 |
の公式 | 絶対値 | -2 の絶対値 | 2 |
と | 文字結合 | Tips と found | Tipsfound |
公式には sin, cos, tan や log など数多くあります。
比較演算子
ブロック名 | 演算名 | 使用例 | 結果 |
> | より大きい | 1 > 2 | false |
< | より小さい | 1 < 2 | true |
= | 等しい | 1 = 2 | false |
論理演算子
ブロック名 | 演算名 | 使用例 | 結果 |
かつ | 論理積 | 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 として扱われます。
論理値は true と false があります。
型が不正になることはありません。数値を入れた後に文字列を入れられます。
メソッド
[ブロックを作る] をクリックしてメソッドを宣言できます。スコープは Private のみです。作成した自身のスプライトから使用できます。
メソッドが作成されます。これにブロックを追加して処理を作成します。引数には数値や文字列や真偽値を設定できます。
呼び出し ブロックからメソッドを呼び出せます。
イベント
プログラムを実行したときや、スプライトを押したときなど、いろいろなイベントがあります。
イベントが発生したとき、それに追加されている処理が実行されます。
メッセージ
メッセージとは他のスプライトやステージに対して通知する機能です。イベントやメソッドのような動作をします。
メッセージブロックの [▼] をクリックし [新しいメッセージ] をクリックしてメッセージを作成できます。
を送る や を送って待つ ブロックからメッセージを送信できます。 を送る ブロックを使うと処理が非同期に実行されます。
メッセージが送られると を受け取ったとき ブロックがイベントのように動作します。
複数のスプライトを同時に動かしたいときなどにメッセージを使います。
条件分岐、If 文
条件に一致するときにブロックの中の処理が実行されます。
条件に一致するときとしないときで処理を分けられます。
3 つ以上に分岐するには上記のブロックを組み合わせます。else if や switch 文や select 文などの専用のブロックはありません。
条件を指定するには、調べるブロックや演算ブロックの次の形をしたものを使います。
ループ、For 文
指定した回数ループします。for 文です。
条件が一致するまでループします。until 文です。
ずっとループします。while true 文です。
foreach はありません。
continue や break などループを抜ける命令はありません。
デバッグ
デバッグ機能はありません。
秒待つ ブロックや まで待つ ブロックを使って処理の流れを確認したり、ブレークポイントのようなことができます。
エラー処理
エラー処理はありません。基本的にエラーが発生しません。
0 で割ると Infinity というエラーを取得します。
エラーになってもそのまま処理が続行されます。エラーの値が何らかの値として扱われます。
コメント
コメントを付けたい [ブロック] を右クリックして [コメントを追加] をクリックします。
そのブロックと関連付くようにコメントが表示されるので [内容] を入力します。関連付けたくないときは、ブロック以外の部分でコメントを追加します。
コメントを付けられます。
ヘルプ
ヘルプやドキュメントはありません。
代わりに Wiki やチュートリアルやカードがあります。
Wiki
「Scratch Wiki」に日本語の Wiki があります。
チュートリアル
「チュートリアル」のページから動画で操作を教えてくれます。
多くのチュートリアルがあり、日本語で紹介しています。
カード
「アイディア」のページからカードと呼ばれるものがあります
カードにはコードのテクニックが紹介されています。
カードはすべて英語ですが画像で紹介しているので、なんとなくはわかると思います。
スポンサーリンク