Scratch チートシート — クイックリファレンス
Scratch 3 のブロックプログラミング早見表:変数・リスト・クローン・メッセージと 9 つのブロック分類を網羅し、初心者のゲーム・アニメ・ストーリーづくりをカバーします。
Scratch Scratch 3.0 (online editor)
Scratch 3(ブロック型) · イベント駆動・ビジュアル・協調的シングルスレッド · 動的(弱型付け変数)
おすすめの学習パス
まず最初のプログラム:緑の旗 + 言うブロック → 変数・リストと制御フロー(もし/繰り返し)を習得 → 調べる系でキーボード・マウスを読み、メッセージでスプライトを会話させる → カスタムブロックでコードを整理し、クローンで複数スプライトを扱う → 最後に FAQ で落とし穴を避け、タイマー計測とクラウド変数による記録を覚えましょう。
1.Hello World と最初の一歩
緑の旗から始まる最初のプログラム:スプライトにしゃべらせ、コスチュームや背景を切り替え、9 つのブロック分類を紹介します。
最小プログラム
緑の旗をクリックしてスプライトにしゃべらせる──すべての Scratch プロジェクトの入口です。最小プログラムはイベントと見た目ブロックだけを使います。
緑の旗で開始
緑の旗ブロックはプロジェクト全体の起動スイッチ。ステージ上の旗をクリックすると、そこから始まるスクリプトが一斉に走り、停止ボタンで全部止まります。
スプライトにしゃべらせる
「言う」と「考える」ブロックはスプライトの吹き出しに文字を出す、最も直接的な出力手段。秒数を指定すればその時間後に消え、未指定なら表示し続けます。
コスチューム切替
各スプライトは複数のコスチュームを持ち、切り替えることで歩行やまばたきなどのアニメを作れます。「次のコスチューム」は順番に送ります。
背景切替
ステージの背景はシーンにあたり、物語に合わせて切り替えられます。「背景が切り替わったとき」ブロックと組み合わせれば背景ごとに違うスクリプトを走らせられます。
9 つのブロック分類
ブロックは機能ごとに 9 つの色分けカテゴリに分類されます:動き(青)・見た目(紫)・音(ピンク)・イベント(黄)・制御(オレンジ)・調べる(水色)・演算(緑)・変数(オレンジ)・ブロック定義(紫)。
スクリプトは上から下へ
同一スクリプト内ではブロックが上から下へ順に実行され、前のブロックが完了してから次へ進むため、順序がそのまま動作の前後を決めます。
保存と共有
サインイン後はプロジェクトが自動でクラウドに保存されます。「ファイル」メニューからパソコンにダウンロードでき、右上の「共有」で公開してオンライン遊ばせます。
2.変数と定数
変数の作成、値の設定・変更、表示・非表示、クラウド変数とローカル変数。
変数を作る
「変数」カテゴリの「変数を作る」をクリックし、名前(例:スコア)を入力します。変数はボックスのように数値・文字列・真偽値を保持できます。
代入と増減
「〜にする」は変数に値を代入し、「〜ずつ変える」は現在の値から増減します。スコアやライフの更新は「〜ずつ変える」が定番です。
表示と非表示
変数はデフォルトでステージ左上に表示され、ドラッグで位置を変えられます。不要な変数は「変数を隠す」ブロックで隠して画面を整理できます。
リスト変数
リストはたくさんの値を入れられる変数で、箱が並んでいるイメージです。位置を指定して追加・削除・読み出しができます。
定数と固定値
ブロックに直接書いた数字や文字が定数で、実行中に変化しません。値が変わり得るデータだけを変数にします。
クラウド変数
クラウド変数はサーバーへ値を保存し、プロジェクトを開くすべてのユーザーが同じ値を共有します。ランキングに最適ですが、数値のみ対応です。
ローカル変数
既定では変数はプロジェクト全体で共有されます。「このスプライトのみ」をチェックするとそのスプライト専用になり、クローンもそれぞれ独立したコピーを持つようになります。
スライダー変数
ステージ上の変数モニターを右クリックするとスライダーに切り替えられ、マウスでドラッグして値をリアルタイムに変更できます。音量や速度など調整可能なパラメータに最適です。
3.データ形式
Scratch のデータは数値・文字列・ブールの 3 種類で、変数は型を自動推論します。
数値
数値はブロックの白い丸穴に直接入力でき、正負や小数も扱える。四則演算のブロックは数値を返す。
文字列
文字列は白い丸/楕円のスロットに入れます。「言う」「考える」やリストの中身も文字列にできます。
真偽値
比較・論理ブロックは真(true)/偽(false)を返し、条件用の六角スロットにのみ入ります。
リストの要素
リストの要素は数値でも文字列でもよく、インデックスで n 番目を読み出します。要素型は固定されていないので混在も自在です。
型の自動推論
Scratch では型宣言は不要で、変数には何でも代入でき、いつでも別の型を入れ直せる。演算時には数値と文字列が自動的に変換される。
入力の形式
「聞いて待つ」ブロックでユーザに入力を求め、「答え」ブロックは常に文字列を返します。数値として使う場合は演算ブロックで変換します。
出力の形式
「言う」「考える」ブロックはデータを見える文字列にする。演算結果やリストの要素をそのまま出力ブロックに流せる。
数値と文字列の変換
round は四捨五入、mod は剰余。文字列連結に混ぜると数値は自動で文字列化されます。
4.変数とデータ保存
変数とリストでデータを保持し、クローン・メッセージ・クラウド変数でスプライト間でデータを渡します。
変数による保存
変数はデータの「居場所」:値を設定してから使います。スクリプト間で同じ変数の読み書きでデータを共有しますが、読むタイミングに注意が必要です。
リストで複数件保存
リストは配列のように複数件を保持します。インデックスで読み書きし、1 ラウンドの全スコアや敵の座標などに向きます。
クローンがデータを持つ
クローンはスプライトのスクリプトと変数をすべてコピーします。「このスプライトのみ」変数はクローンごとに独立し、ID で互いに区別できます。
プライベート変数
「このスプライトのみ」をチェックした変数はクローンごとに一つずつあり、一つを変更しても他に影響しません。クローンを区別する鍵です。
クラウド変数
クラウド変数は数値をサーバーと同期し、全プレイヤーが同じデータを共有します。ランキングやオンライン対戦に適しますが、数値のみです。
メッセージでデータを渡す
メッセージは「メッセージ名」しか運べません。データを渡したい場合はグローバル変数に書き込んでからメッセージを送り、受信側が変数を読みます。
グローバル変数とローカル変数
既定の変数はすべてのスプライトから読み書き可能なグローバル変数です。「このスプライトのみ」を選ぶとそのスプライト(またはそのクローン)だけに属します。
データの永続化
変数はプロジェクト実行中のみ存在し、ページ再読み込みや終了で消えます。長期保存にはクラウド変数やデータの書き出しを使います。
5.制御フロー
条件分岐とループでスクリプトの流れを制御する:もし、繰り返し、〜まで繰り返す、待つ、止める。
もし判定
「もし〜なら」は条件が真のときだけ内側のブロックを実行します。条件は六角スロットに入れ、比較や論理ブロックを配置します。
もし〜でなければ
「もし〜なら…でなければ」で二択になります。真なら前段、偽なら後段。勝ち負けやオン/オフの切り替えに向きます。
N 回繰り返す
「N 回繰り返す」は中身を N 回ループし、少しずつ移動する描画や効果音の連続再生などに使われます。
ずっとループ
「ずっと」は自分では止まらないため、停止ブロックや条件で抜け出します。スプライトの巡回や背景スクロールのような継続動作を置きます。
〜まで繰り返す
「〜まで繰り返す」は中身を先に実行してから条件を判定し、真になったら抜けます。キー入力待ちやスコア到達待ちに向きます。
待つ
「1 秒待つ」は現在のスクリプトを一時停止し、「〜まで待つ」は条件が真になるまで停止します。注意:待ちは現在のスクリプトだけを止め、他のスクリプトは通常通り動きます。
スクリプトの停止
「すべてを止める」は全スクリプトを終了、「このスクリプトを止める」は現在のスクリプトだけ、「このスプライトの他のスクリプトを止める」は自身だけ動かして他を止めます。
複合条件
かつ・または・ではないで複数条件を一つにまとめます。かつは全部真、またはは少なくとも 1 つ真、ではないは結果を反転します。
6.カスタムブロック(関数)
カスタムブロックは繰り返しのコードをパラメータ・返り値付きの再利用可能な塊にまとめる、いわば関数です。
ブロックを作る
「ブロック定義」カテゴリの「新しいブロックを作る」から名前とパラメータを指定すると、スクリプトエリアに「定義」ブロックが現れ、ロジックを書けます。
パラメータ付き
定義時に数値・文字列の入力を追加し、呼び出し時に値を渡します。パラメータはローカル変数で、ブロック内でのみ有効です。
値を返す
カスタムブロックは既定では値を返しません。「戻り値」を実現するには、結果を変数に入れて呼び出し後に読みます。
カスタムブロックを呼ぶ
定義後は必要な場所に呼び出しブロックを置くだけで実行されます。呼び出し 1 回ごとに中のスクリプトが 1 回走ります。
再帰
カスタムブロックは自分自身を呼べます(再帰)。Scratch にはスタック深さの上限があるため、深すぎる再帰は避け、ループで書き直すのが安全です。
画面を再描画しない
カスタムブロック編集時に「画面を再描画せずに実行」をチェックすると、ブロックが一気に瞬時実行されます。リストの大規模演算や高速計算に向きます。
パラメータの局所性
カスタムブロックのパラメータはブロック内のみですが、ブロック内で作った変数は既定でグローバルになり、外部の同名変数と衝突する危険があります。
再利用と分割
ロジックのかたまりをカスタムブロックに抽出すると、複数のイベントから再利用できるため、コードが整理されてデバッグもしやすくなります。
7.文字列
連結・文字取り出し・長さ・含む判定など、文字列の基本的な演算をサポートします。
テキストの連結
「連結」は 2 つの文字列を前後につないで新しい文字列にします。プロンプトや座標の組み立てに多用されます。
文字を取り出す
「N 文字目」は指定位置の文字を返します。日本語の文字も 1 文字扱い、空白も 1 文字として数えられます。
文字列の長さ
「文字列の長さ」は文字数を返します。英字・スペース・日本語の文字もすべて 1 文字。空文字列判定や入力長の上限制限に使います。
含むかの判定
「〜を含む」はある文字列が別の部分文字列を含むかを判定し、真偽値を返します。キーワード検出に利用できます。
位置の検索
「N 文字目」と「文字列の長さ」を組み合わせれば手作業で検索できます。位置を 1 つずつ進めて一致した位置を返すだけです。
リストに分解
文字列を 1 文字ずつリストに格納すれば、繰り返しで 1 文字ずつ処理できます。
空文字列の判定
「長さ = 0」が空文字列を意味します。未入力時の答えも空文字列なので、必ず長さを確認してから使います。
長い文章を連結
Scratch のテキストブロックは単一行入力なので、長い文章は複数の連結ブロックでつなぎます。カンマや空白もそのまま保持されます。
8.リストとデータ構造
リストは Scratch の中核データ構造で、追加・削除・変更・参照・走査・二次元シミュレーションが可能です。
リストを作る
「変数」カテゴリの「リストを作る」をクリックし、変数と同じようにスクリプト領域に現れます。ステージ上のリストモニターは表示/非表示を切り替えられます。
追加と削除
「追加」は末尾に新しい要素を入れ、「削除」は指定インデックスまたはすべてを消します。削除後はインデックスが自動で前に詰められます。
要素の読み出し
「リストの N 番目」はインデックスで取得し、開始は 1 です。範囲外はエラーにならず空を返します。
要素の置換
「N 番目を〜で置き換える」は指定位置の値だけ書き換え、長さは変わりません。特定スロットの中身更新に向きます。
要素の挿入
「N 番目に挿入」は指定位置に新しい要素を差し込み、以降の要素は自動で後ろにずれ込みます。
要素の検索
「リストに含まれる」は指定要素が存在するかを判定し、真偽値を返す。空の要素を読むのを避けるため、先に存在を確認してから利用する。
リストの走査
「〜まで繰り返す」とインデックス変数を組み合わせて 1 件ずつ処理するのが、リスト走査の一般的な書き方です。
二次元データの模擬
リストは 1 次元なので、インデックス = 行 × 列数 + 列 で 2 次元グリッド(マップやボード)をシミュレートできます。
9.プロジェクトとリソース管理
スプライト数・リストサイズ・クローン上限を管理し、プロジェクトの性能と引っかかりを最適化します。
クローン上限
Scratch では 1 プロジェクトあたり同時に存在できるクローンは最大 300 個です。上限を超えると最も古いクローンが自動で削除されます。
リストサイズの制御
リストが無限に大きくなるとプロジェクトが重くなります。不要になったデータは削除し、最大件数を制限します。
スプライト数
スプライトが多いほど 1 フレームの計算量が増えます。同種オブジェクトは別スプライトを増やさずクローンで処理します。
メッセージの嵐
毎フレームのように大量にメッセージを送ると、すべての受信側が毎回再起動して重くなります。何かが変化したときだけ送るようにします。
変数のキャッシュ
繰り返しの計算結果を変数に格納し、都度複雑な計算をしなくて済むようにします。何度も使う値は事前に計算して保持します。
スプライトリストの管理
ステージ右下のスプライトリストにすべてのスプライトが並びます。ドラッグで順番を移動、右クリックで複製・書き出し・削除ができます。
パフォーマンス最適化
毎フレームの再描画を減らし、大量のリスト演算を避け、クローンとパーティクル数を制限すると、プロジェクトが滑らかになります。
コスチュームと音素材
コスチューム・音はすべてリソースで、数が増えるとファイルが大きくなり読み込みも遅くなります。不要なものは削除し、読み込み前に画像を圧縮します。
10.スプライト=オブジェクト
各スプライトは変数とスクリプトを持つオブジェクトで、クローンはそのインスタンスです。
スプライト=オブジェクト
スプライトはコスチューム・変数・スクリプトをまとめた小さなオブジェクトです。ステージはグローバルなコンテナにあたります。
クローン=インスタンス
クローンはスプライトの複製インスタンスで、コスチュームと非専用スクリプトは共有しつつ、位置・サイズ・プライベート変数はそれぞれ独立しています。
メッセージ=メソッド呼び出し
メッセージは他の「オブジェクト」へ送る通知で、受信側のブロックがそれを処理します。オブジェクト指向のメソッド呼び出しに似ています。
プライベート属性
「このスプライトのみ」変数はオブジェクトのプライベート属性で、クローンごとに独立して他への影響は出ません。
クローンで再利用
スプライトのクローンは同型の「テンプレート」を生み出し、スクリプトや変数を変更して振る舞いの違うインスタンスを派生させます。継承に似た発想です。
状態と振る舞い
オブジェクトの状態は変数に、行動はスクリプトに持たせます。状態変数で分岐して行動セットを切り替えます。
イベント駆動モデル
Scratch はイベント駆動:緑の旗・キー・クリック・メッセージがそれぞれスクリプトを起動します。main 関数はなく、すべてはイベントから始まります。
メッセージング
スプライト同士は互いの変数に直接アクセスせず、メッセージと共有変数経由で協調します。結合度が下がり見通しが良くなります。
11.デバッグとエラー処理
Scratch には例外機構がないため、変数の監視・言うブロック・境界チェックで問題を発見します。
例外機構がない
Scratch は例外を投げず、バグは誤ったまま静かに動きます。事前の値チェックと能動的な防御が重要です。
変数を監視する
ステージの変数モニターを右クリックすると「通常読み取り」「大きな読み取り」「スライダー」「隠す」を切り替えられ、値をライブで観察できます。
言うブロックでデバッグ
怪しい箇所に「(変数)を言う」を置いて中間値を出力し、ロジックを調査します。調査後は忘れずに削除します。
境界チェック
リストの要素を読む前にインデックスが範囲内かをチェックして空読みを防ぎます。有効範囲は 1 から長さまでです。
空チェック
答えが空、リストが空のときは長さを先に確認してから使い、空値の演算で奇妙な結果が出るのを防ぎます。
リストの範囲外
リストのインデックスは 1 から始まり、削除後は自動で前に詰まります。長さ」を上限にすれば範囲外を防げます。
ステップデバッグ
大きなスクリプトは小さな単位に分けて段階的にテストするか、待ちブロックで速度を落として各ステップを観察します。
よくあるエラーチェックリスト
エラーの原因は多くの場合、変数の未初期化、条件の反転、範囲外のインデックス、誰も受信しないメッセージです。チェックリストで 1 つずつ潰します。
12.入力と出力
調べる系ブロックでキーボード・マウス・質問を読み、言う・コスチューム・背景で出力し、クラウド変数でデータを保存します。
キーボード入力
「スペースキーが押された?」はキーが押されているかを判定します。ループと組み合わせれば連続移動、1 回判定ならジャンプに使えます。
マウス入力
マウスポインタの位置とボタンの押下状態を読み取れば、スプライトをマウスに追従させたりクリックに反応させたりできます。
質問と回答
「〜と聞いて待つ」は入力ダイアログを開き、ユーザーの返答を「答え」ブロックに格納します。常に文字列です。
接触の検知
スプライトがマウス・他のスプライト・色に接触しているかを検知します。衝突判定やアイテム取得に使われます。
センシング値の出力
x 座標・y 座標・向き・音量・タイマーなどは読み取り可能な調べる値で、そのまま演算に渡せます。
メッセージ出力
メッセージは他のスプライトの動作を同期させる主要な出力チャネルで、受信側が反応します。
クラウド変数で保存
クラウド変数は数値をサーバーに保存し、全プレイヤーで共有します。ハイスコアやオンライン統計に向きます。
画面への出力
「言う」と「考える」で文字、コスチューム切替で画像、音の再生で音声を出力します。これらを組み合わせてフィードバックを作ります。
13.よくある落とし穴
初心者が最も陥りやすい 8 つの落とし穴。BAD が誤った書き方、GOOD が正しい書き方です。
ずっとループで固まる
ずっとループ内のに待ちを入れ、条件が永遠に満たされないとスクリプトが固まります。ループ内で条件を進め、または抜けられるようにします。
メッセージの時系列
メッセージは非同期で、送った側はすぐに次へ進み、受信側は並行に走り出します。順序が必要なときは「メッセージを送って待つ」を使います。
クローン変数の混線
グローバル変数はクローン間で共有されるため、1 つを変えると全部に反映されます。クローンを区別するには「このスプライトのみ」のプライベート変数を使います。
待ち条件が満たされない
「〜まで待つ」の条件が別のスクリプトで設定される場合、そのスクリプトが動いていない可能性があります。条件を変える何かが必ず動くようにします。
空値の演算
答えやリスト要素が空のとき比較・演算に混ぜると偽や奇妙な結果になります。長さを先に判定してから使います。
リストのインデックス範囲外
リストのインデックスは 1 から始まり、最大は長さです。0 や範囲を超えたインデックスでは読めず、バグの温床になります。
コスチューム名不一致
コスチューム切替の名前はパネルと完全一致させる必要があります。空白が 1 つ多かったり欠けていると切替は静かに失敗します。
再帰が深すぎる
Scratch の再帰にはスタック深さの上限があり、深すぎると静かに停止/異常動作します。深い再帰はループで書き直します。
14.マルチスクリプトと並行処理
複数のイベントスクリプトが並行に走り、メッセージと待ちで実行順序を協調します。
並行スクリプト
1 つのスプライトでも複数の独立したスクリプトを保持でき、それぞれ独自のイベントから並行に走り、お互いを待ちません。
イベント=スレッド
各イベント(緑の旗・キー・クリック・メッセージ受信)は専用スクリプトを起動し、それぞれスレッドに相当します。
共有変数
全スクリプトがグローバル変数を共有します。複数のスクリプトが同時に同じ変数に書き込むと更新が上書きし合います。
競合状態
二つのスクリプトが同じ変数に対し「読み取り → 変更 → 書き込み」を並行に行うと更新が失われることがあります。重要な更新は 1 本のスクリプトにまとめます。
メッセージ同期順序
「メッセージを送って待つ」はすべての受信側スクリプトが完了するまで送り手を止め、多段アニメの順序制御に利用できます。
スレッド停止
「停止」ブロックは指定したスクリプトを停止できる。「すべて」「このスクリプト」「このスプライトの他のスクリプト」のいずれかを対象に選ぶ。リセット処理によく使われる。
スプライト間の協調
複数のスプライトが並行に動くときは、共有変数と待ちを使って、揃って進む/順番に動くよう調整します。
協調的シングルスレッド
並行に見えても、各スクリプト内部は上から下へ 1 ブロックずつ進みます。長時間ループは同じスプライトの他スクリプトも止めてしまいます。
15.ネットワークと拡張
クラウド変数でプロジェクトをネット越しに共有し、拡張ブロックで翻訳や読み上げなどのオンライン機能を提供します。
クラウド変数のネット同期
クラウド変数は数値をサーバーにリアルタイム同期し、複数ユーザーが同じプロジェクトを動かしてもデータが共有されます。ランキングや簡易な対戦に向きます。
翻訳拡張
「翻訳」拡張はオンライン翻訳を呼び出し、テキストを任意の言語に訳した文字列を返します。
音声合成
「音声合成」拡張は文字を音声で読み上げ、言語とボイスを切り替えられます。オンラインの音声サービスが必要です。
ビデオモーション
「ビデオモーション」拡張はカメラで動きを取り込み、プレイヤーの手振りでスプライトを操作できます。初回はカメラ権限の許可が必要です。
サイトで共有
右上の「共有」をクリックするとプロジェクトを Scratch サイトに公開でき、誰でもオンラインで遊んだりいいね・コメントをしたりできます。
リミックス
サイトで「リミックス」を押すと他人のプロジェクトを複製して自分用に改造でき、原作者のクレジットは保持されます。
クラウド変数の制限
クラウド変数には制限があります:1 プロジェクトあたりの数に上限があり、値は数値かつ短く、頻繁な更新はサーバ側で制限されます。
ネットの安全性とプライバシー
オンラインのプロジェクトは公開されます。本名・住所・電話番号などの個人情報は作品に入れないでください。
16.時間とタイミング
タイマー・待ち・2000 年からの日数ブロックで、 countdown、ストップウォッチ、制限時間付きステージを作ります。
タイマー
「タイマー」はプロジェクト開始からの経過秒を小数で返し、ストップウォッチやカウントダウンの中核です。
タイマーをリセット
「タイマーをリセット」はタイマーを 0 に戻し、新しい計測を始めるときに使います。
日数カウント
「2000 年からの日数」は 2000-01-01 からの経過日数を返します。日跨ぎの計測や「最後に開いた日」の記録に利用できます。
秒数待ち
「N 秒待つ」は現在のスクリプトを N 秒止めます。テンポ・遅延・アニメのフレーム間隔に使います。
カウントダウン
タイマーと引き算でカウントダウンを作り、ゼロになった終了イベントを送ります。
ストップウォッチ
タイマーの差分を取れば、ある操作に要した時間を測れる。反応テストのミニゲームに適している。
制限時間ステージ
制限時間内にゴールし、超过すれば失敗。カウントダウンと勝利条件を組み合わせます。
タイマー駆動アニメ
アニメをフレームレートではなくタイマー基準で駆動すれば、パソコンごとに速度が変わる問題を避けられます。
17.スクリプトのライフサイクル
スクリプトは Scratch 最小の実行単位。起動・実行・停止を理解すれば、プロジェクト全体が見えます。
スクリプト=手続き
イベントブロックから始まり末尾までの一連のスクリプトが小さな手続きであり、複数合わさってプログラムになります。
緑の旗で起動
緑の旗は標準の起動エントリで、クリックすると「緑の旗が押されたとき」スクリプトが一斉に始まります。main 関数のようなものです。
イベントハンドラ
イベントブロックはスクリプトの「帽子」で、トリガされたときだけ走ります。トリガがなければ自動的には始まりません。
アトミック実行
「画面を再描画せずに実行」をチェックしたカスタムブロックは一気に完走し、再描画を挟まないため、バッチ処理などの高速計算に向きます。
並行ライフサイクル
各スクリプトは独立に起動・停止します。停止ブロックで「すべて/このスクリプト/このスプライトの他スクリプト」を精准に制御できます。
停止のスコープ
「このスクリプトを止める」は自分だけ、「このスプライトの他のスクリプトを止める」は同スプライトの他、「すべてを止める」は全クリア。
ステートマシン手順
現在の状態を変数に持たせ、状態間で遷移させることでメニュー・プレイ中・エンディングなどの場面を切り替えます。
プロジェクトのライフサイクル
プロジェクトはリソース読み込み → 緑の旗で起動 → 実行 → 停止ボタン → 保存・共有というライフサイクルを持ちます。
18.テキストパターンマッチ
Scratch に正規表現はないため、含む・文字判定・リスト分解で簡易マッチングを行います。
正規表現がない
Scratch には正規表現ブロックがありません。複雑なパターンマッチは演算ブロックで自前で組むか、拡張に任せます。
含むマッチ
「含む」は最もシンプルな部分文字列マッチで、テキストに特定の語があるかを判定します。
先頭判定
1 文字目を読み出して先頭文字と一致するかを判定し、プレフィックス検出に使います。
末尾判定
最後の文字(インデックスは文字列の長さ)を取り出して末尾を判定し、サフィックス検出に使います。
文字種別
1 文字が数字か英字かを判定するには、数字表を作って「含む」で問い合わせます。
パターン検索
ループでテキストを 1 文字ずつ走査し、条件に合う部分を抜き出します(例:連続する数字を抽出)。
分解パース
区切り文字でテキストをリストに分割し、要素ごとに処理すれば、簡易的なパースを実現できる。
ワイルドカードの模擬
「含む」と複数の OR 条件を組み合わせてワイルドカードを模倣し、いずれかのキーワードにマッチするかを判定します。
19.保存・公開・デバッグ
プロジェクトの保存・書き出し・共有とデバッグのテクニックで、作品をなめらかに遊びやすくします。
プロジェクトを保存
サインイン中はプロジェクトが自動でクラウドに保存されます。ファイルメニューから手動保存・パソコンへのバックアップも可能です。
.sb3 ファイル形式
プロジェクトの拡張子は .sb3 で、project.json とコスチューム・音などの素材を含む zip アーカイブです。オフラインで開けます。
公開と共有
右上の「共有」で作品を公開し、タイトル・説明・タグを設定すると多くの人に見てもらいやすくなります。
リミックスして再構築
他人のプロジェクトをリミックスして学習の出発点にし、スクリプト改造やステージ追加をした自分のバージョンを公開します。
デバッグツール
変数の監視・「言う」ブロック・長めの待ちを使って問題箇所を特定し、セクションごとにスクリプトを検証します。
バックアップとバージョン
.sb3 をローカルにバックアップ保存し、バージョンごとにファイル名を変えれば、壊れても前の版に戻れます。
公開前チェック
公開前に各種エントリ(緑の旗・キー・スプライトクリック・メッセージ)をテストし、無限ループ・範囲外・引っかかりがないことを確認します。
継続的に学ぶ
公式チュートリアル、Scratch Wiki、コミュニティ作品から学び続け、自分の作品を改善し続けましょう。
このチートシートについて
Scratch はマサチューセッツ工科大学メディアラボが開発した無料のビジュアルプログラミング言語で、5〜16 歳の学習者を対象に設計されています。コードを書く代わりに「ブロック」をはめ込み、動き・見た目・音・イベント・制御・調べる・演算・変数・ブロック定義の 9 カテゴリからスクリプトエリアにドラッグするだけで、スプライトのアニメやインタラクティブなゲーム、創造的な物語を作れます。 このページは Scratch 3 の自己完結的な早見表で、初心者がゲーム・アニメ・物語づくりで使う約 80% の事例をカバーします。19 のセクションはそれぞれ 1 つのテーマに焦点を当てています:最初のプログラム(hello)、変数とデータ保存(vars / types / pointers)、制御フロー(control)、カスタムブロック(funcs)、文字列とリスト(strings / collections)、プロジェクトとリソース管理(mem)、スプライトオブジェクトモデル(oop)、デバッグと落とし穴(errors / faq)、入出力と同時実行スクリプト(io / threads)、クラウド変数と拡張(net)、時間とタイミング(time)、スクリプトのライフサイクル(proc)、テキストパターンマッチ(regex)、保存・公開・デバッグ(build)。各セクションは 8 トピックに分割され、5〜20 行ずつの例を添えています。 他のプログラミング言語と異なり Scratch にはテキスト構文がないため、ここではブロックを読みやすいテキストで表現し、オフラインでの参照と記憶の両立を図っています。すべてブラウザ内でレンダリングされ、アップロードや追跡は一切ありません。GuruToolkit 無料デベロッパーツール群の一部で、ここにあるスニペットは自由に利用でき、いかなる保証も伴いません。
バージョン 2.1.0