提供: Japanese Scratch-Wiki

(ブロック名の変更一部修正 (bot))
(ブロック名の変更 (bot))
 
(同じ利用者による、間の1版が非表示)
5行目: 5行目:
 
ブロックには次の10種類のカテゴリが存在する。
 
ブロックには次の10種類のカテゴリが存在する。
  
[[動きブロック|動き]]、[[見た目ブロック|見た目]]、[[音ブロック|音]]、[[変数ブロック|変数]]、[[リストブロック|リスト]]、[[イベントブロック|イベント]]、[[制御ブロック|制御]]、[[調べるブロック|調べる]]、[[演算ブロック|演算]]、[[作ったブロック|作った]]
+
[[動きブロック|動き]]、[[見た目ブロック|見た目]]、[[音ブロック|音]]、[[変数ブロック|変数]]、[[リストブロック|リスト]]、[[イベントブロック|イベント]]、[[制御ブロック|制御]]、[[調べるブロック|調べる]]、[[演算ブロック|演算]]、[[ブロック定義 (カテゴリ)|作った]]
  
 
ただし、[[Mod版Scratch|Mod版Scratch]]([[ScratchX]])には、その他のカテゴリやブロックを持つものもある。
 
ただし、[[Mod版Scratch|Mod版Scratch]]([[ScratchX]])には、その他のカテゴリやブロックを持つものもある。
182行目: 182行目:
 
Scratch 3.0のイベントブロックには、次の6個のハットブロックが存在する:
 
Scratch 3.0のイベントブロックには、次の6個のハットブロックが存在する:
  
*[[緑の旗がクリックされたとき (ブロック)|緑の旗がクリックされたとき]] {{-}} 緑の旗がクリックされたとき、スクリプトを開始する。
+
*[[緑の旗が押されたとき (ブロック)|緑の旗がクリックされたとき]] {{-}} 緑の旗がクリックされたとき、スクリプトを開始する。
 
*[[() キーが押されたとき (ブロック)|() キーが押されたとき]] {{-}} 指定したキーが押されたとき、スクリプトを開始する。
 
*[[() キーが押されたとき (ブロック)|() キーが押されたとき]] {{-}} 指定したキーが押されたとき、スクリプトを開始する。
 
*[[このスプライトが押されたとき (ブロック)|このスプライトが押されたとき::events hat]] {{-}} 現在のスプライトがクリックされたとき、スクリプトを開始する。
 
*[[このスプライトが押されたとき (ブロック)|このスプライトが押されたとき::events hat]] {{-}} 現在のスプライトがクリックされたとき、スクリプトを開始する。
284行目: 284行目:
  
 
===作った===
 
===作った===
{{メイン|作ったブロック}}
+
{{メイン|ブロック定義 (カテゴリ)}}
 
'''作った''' では、ユーザーが自分でカスタムブロックを定義して使うことができる。Scratch 3.0では、このためのブロックとして2種類が用意されている。
 
'''作った''' では、ユーザーが自分でカスタムブロックを定義して使うことができる。Scratch 3.0では、このためのブロックとして2種類が用意されている。
  
Scratch 3.0の作ったブロックでは、次のハットブロックを使用できる。
+
Scratch 3.0のブロック定義 (カテゴリ)では、次のハットブロックを使用できる。
 
*[[定義 () (ブロック)|定義 ()]] {{-}}このブロックを使って、カスタムブロックを 定義する。
 
*[[定義 () (ブロック)|定義 ()]] {{-}}このブロックを使って、カスタムブロックを 定義する。
  
Scratch 3.0の作ったブロックでは、次のスタックブロックを使用できる。
+
Scratch 3.0のブロック定義 (カテゴリ)では、次のスタックブロックを使用できる。
 
*[[() (カスタムブロック)|()]] {{-}} カスタムブロック(自分で定義したブロック)。
 
*[[() (カスタムブロック)|()]] {{-}} カスタムブロック(自分で定義したブロック)。
  

2019年1月29日 (火) 12:14時点における最新版

このきじは ひらがなのページがありません。ごめんなさい。編集者向け:作成する
注目の記事.png この記事は2018年2月の注目の記事です。

ブロックは、Scratch のプログラムを組み立てるために使う部品で、ジグゾーパズルのようにつなげて使用する。それぞれのブロックは、役割(「イベントを受け取る」「命令を出す」「値を返す」「真偽を返す」「スクリプトの終わりを表す」など)によって異なる形をしており、それぞれの形には、その形がピッタリはまる専用のスロット(ブロックを入れる場所)が存在している(これによって、プログラム上の構文エラーの発生を防いでいる)。なお、複数のブロックを組み合わせてひとまとめにしたものを、スクリプトという。この記事では特に言及していない場合、拡張機能のブロックは除外している。これについては拡張機能の記事を参照してほしい。

ブロックには次の10種類のカテゴリが存在する。

動き見た目変数リストイベント制御調べる演算作った

ただし、Mod版ScratchScratchX)には、その他のカテゴリやブロックを持つものもある。

形状別に見た場合は、Scratch全体で、ハットブロックが7個、C型ブロックが5個、値ブロックが33個、真偽ブロックが13個、キャップブロックが2個、スタックブロックが59個存在する。

ブロックの形状

ブロックの形は、全部で6種類存在する: ハットブロックスタックブロック真偽ブロック値ブロックC型ブロックキャップブロック

ハットブロック

ハットブロックのかたち
詳細は「ハットブロック」を参照

ハットブロック(Hat Block)とは、スクリプトを開始するブロックであり、上が丸く、下に出っぱりがある形状をしている(したがって、下にしかブロックをつなげられない)。ハットブロックは全部で7個あり、そのうち6個が「イベント」、1個が「制御」に含まれている。 次に、ハットブロックの例を示す:

@greenFlag が押されたとき::events hat

このスプライトが押されたとき::events hat

スタックブロック

スタックブロックのかたち
詳細は「スタックブロック」を参照

スタックブロック(Stack Block)は、各種の命令を実行するブロックであり、上にくぼみ、下に出っぱりがある形状をしている(したがって、上下にブロックをつなげられる)。スタックブロックは全部で59個あり、ブロック形状別に見た場合、もっとも数が多い。

真偽ブロック

真偽ブロックのかたち
詳細は「真偽ブロック」を参照

真偽ブロック(Boolean Block)は、真(True)または偽(False)のどちらかの状態を表すブロックである。たとえば誰かに、「2+2は4だよね?」というような質問をすると、たずねられた人は「はい」「いいえ」のどちらかの答えを返すことになるが、真偽ブロックもこれと同じように真(はい)、偽(いいえ)のいずれかを返す。真偽ブロックは、全部で13個存在しており、六角形で表される。


値ブロック

値ブロックのかたち
詳細は「値ブロック」を参照

値ブロック(Reporter Block)は、数値や文字列を返すブロックである。たとえば誰かに「2+2っていくつ?」と尋ねれば、「4」という答えが帰ってくるだろうが、値ブロックもこれと同じように数値や文字列を答えとして返す。なお、質問できる内容は数式だけではない。値ブロックは、だ円形をしており、全部で33個存在する(値ブロックは、変数やリストを自分で作成した場合、理論上、無限に増やせるが、ここではそういったブロックは数に入れていない)。


C型ブロック

C型ブロックのかたち
詳細は「C型ブロック」を参照

C型ブロック(C Block)は、アルファベットの「C」の形をしたブロックであり、"ラップブロック"とも呼ばれる。C型ブロックには、間に挟まれたブロックを繰り返し実行したり、条件によってどの処理を実行するかを決める役割がある。C型ブロックは全部で5種類存在し、それらはすべて制御カテゴリに属している。C型ブロックの下部は、でっぱりがあるものとないものがある。

キャップブロック

キャップブロックのかたち
詳細は「キャップブロック」を参照

キャップブロック(Cap Block)は、スクリプトを停止するブロックで、上部にへこみがあり、下部は平らである(したがって、このブロックの下には他のブロックをつなげることができない)キャップブロックは全体で2個存在しており、どちらも制御カテゴリに属している。

ブロック一覧

Scratch 3.0には拡張機能とユーザーが定義したブロックを除けば全部で119個のブロックが存在する。

動きブロック

詳細は「動きブロック」を参照

動きブロックは、スプライト の動きをコントロールするブロック群である。Scratch 3.0には、全部で18個の動きブロックが存在する。 Scratch 3.0の動きブロックには、15個のスタックブロックが存在する:

Scratch 3.0の動きブロックには、3個の値ブロックが存在する:

  • x座標 — 選択中のスプライトのx座標
  • y座標 — 選択中のスプライトのy座標
  • 向き — 選択中のスプライトの向き

見た目ブロック

詳細は「見た目ブロック」を参照

見た目ブロック は、スプライトの見た目をコントロールするブロック群である。Scratch 3.0には全部で20個の見た目ブロックが存在する。スプライトの見た目ブロックは19個であるが、このうち3個には、同等の機能を持つステージ用の見た目ブロックが存在する。

Scratch 3.0の見た目ブロックには、17個のスタックブロックが存在する:

Scratch 3.0の見た目ブロックには、値ブロックが3個存在する。

  • コスチュームの () — スプライトの現在のコスチュームのリストにおける番号または名前。
  • 背景の () — 現在の背景の番号または名前。
  • 大きさ — 選択中のスプライトの大きさ。

音ブロック

詳細は「音ブロック」を参照

音ブロックは、音とMIDI機能に関するコントロールを行うブロック群である。Scratch 3.0には9個の音ブロックが存在する。

Scratch 3.0の音ブロックには、8個のスタックブロックが存在する。

Scratch 3.0の音ブロックには、1つのみ値ブロックが存在する:

データブロック

変数ブロック

詳細は「変数ブロック」を参照

変数ブロック は、値や文字列を持つブロックである。Scratch 3.0には、5個の変数ブロックが存在する。

Scratch 3.0の変数ブロックには、4つのスタックブロックが存在する:

Scratch 3.0の変数には、値ブロックが1つ存在する:

  • () — その変数の値

リストブロック

詳細は「リストブロック」を参照

リストブロックリストを扱うためのブロック群である。これらのブロックはデータカテゴリに用意されている。Scratch 3.0には、全部で12個リストブロックが存在する。

Scratch 3.0のリストブロックには、スタックブロックが6個存在する:

Scratch 3.0のリストブロックには、4つの値ブロックが存在する:

Scratch 3.0のリストブロックには、次の真偽ブロックが存在する:

  • () に () が含まれる — 要素の中に、指定したテキストと同じ値を持つものがあるかどうかを判断する。

イベントブロック

詳細は「イベントブロック」を参照

イベントブロック はイベントをコントロールして、各種のスクリプト開始のきっかけとなるブロック群である。Scratch 3.0には、全部で8個のイベントブロックが存在する。 Scratch 3.0のイベントブロックには、次の6個のハットブロックが存在する:

Scratch 3.0のイベントブロックには、次の2個のスタックブロックが存在する:

  • () を送る — Scratchプログラム全体にメッセージを送る。送ったメッセージが指定された「() を受け取ったとき」ブロックがあれば、そのスクリプトを実行する。
  • () を送って待つ — 「() を送る」ブロックと同様だが、メッセージを送った結果開始したスクリプトの処理がすべて終了するまで、このブロックが置かれた側のスクリプトの実行を中断して待つ。

制御ブロック

詳細は「制御ブロック」を参照

制御ブロックはスクリプトを制御するためのブロック群である。Scratch 3.0には、11この制御ブロックが存在する。

Scratch 3.0の制御ブロックには、1つだけハットブロックが含まれる。

  • クローンされたとき (スプライトのみ) — クローンが作成されるたびに指定したスクリプトを実行するが、スクリプト実行の対象となるのは、作成されたそのクローンだけである。

Scratch 3.0の制御ブロックには、3個のスタックブロックが存在する:

  • () 秒待つ — 指定された秒数、スクリプトの実行を止める。
  • () まで待つ — 与えられた条件が満たされるまで(Trueになるまで)、スクリプトの実行を止める。
  • () のクローンを作る — 指定したクローンを作成する。

Scratch 3.0の制御ブロックには、5個のC型ブロックが存在する:

  • () 回繰り返す — 指定した回数、処理を繰り返す。
  • ずっと — 永遠に処理を繰り返す。
  • もし () なら — 「もし () なら」で与えられた条件を確認して、条件が満たされていれば(Trueであれば)、中に入れられたブロックを実行する。
  • もし () なら、でなければ — 「もし () なら」で与えられた条件を確認して、条件が満たされていれば(Trueであれば)、中に入れられた1番目のブロックのまとまりを実行し、条件が満たされていなければ(Falseであれば)、2番めのブロックのまとまりを実行する。
  • () まで繰り返す — 条件が最初に満たされたとき、繰り返し処理を止める。

Scratch 3.0の制御ブロックには、2つキャップブロックが存在する:

  • () を止める — ドロップダウンメニューから選択したスクリプトを停止する。なお、「スプライトの他のスクリプト」が選択されたときは、スタックブロックになる。
  • このクローンを削除する (スプライトのみ) — このスクリプトを実行したクローンを削除する。

調べるブロック

詳細は「調べるブロック」を参照

調べるブロックは、何らかの事象を検出するブロック群である。Scratch 3.0には、調べるブロックが18個存在する。

Scratch 3.0の調べるブロックには、3個のスタックブロックが存在する:


Scratch 3.0の調べるブロックには、5個の真偽ブロックが存在する:

  • () に触れた — 選択中のスプライトがマウスポインターや他のスプライトに触れているかどうかを判別して、その真偽を返す。
  • () 色に触れた — 選択中のスプライトが指定した色に触れているかどうかを判別して、その真偽を返す。
  • () 色が () 色に触れた — 選択中のスプライトから指定した色が、もう1つの色に触れているかどうかを判別してその真偽を返す。
  • () キーが押された — 指定したキーが押されているかどうかを判別して、その真偽を返す。
  • マウスが押された — マウスが押されているかどうかを判別して、その真偽を返す。

Scratch 3.0の調べるブロックには、10個の値ブロックが存在する:

  • () までの距離 — 選択中のスプライトからマウスポインターまたは指定したスプライトまでの距離を返す。
  • 答え — 一番最後に実行した「() と聞いて待つ」ブロックの入力結果。
  • マウスのx座標 — マウスポインターのx座標.
  • マウスのy座標 — マウスポインターのy座標.
  • 音量 — コンピュータのマイクが検知した音量の大きさ。
  • タイマー — Scratchプログラムを開始してから、または、タイマーがリセットされてからの経過時間。
  • () の () — ステージまたは指定したスプライトのx座標、y座標、向き、コスチューム、大きさ、音量 。
  • 現在の () — 選択した単位の時間情報.(年、月、日、曜日、時、分、秒)。
  • 2000年からの日数 — 2000年1月1日からの経過日数。
  • ユーザー名 — 実行中のユーザーのユーザー名。

演算ブロック

詳細は「演算ブロック」を参照

演算ブロックは、数式、数学関数、文字列処理を行うブロック群である。Scratch 3.0には、18個の演算ブロックが存在する。

Scratch 3.0の演算ブロックには、7個の真偽ブロックが存在する:

  • () < () — 1つめの値が2つめの値より小さいかどうかを判別して返す。
  • () = () — 1つめの値と2つめの値が同じかどうかを判別して返す。
  • () > () — 1つめの値が2つめの値より大きいかどうかを判別して返す。
  • () かつ () — 2つの条件を連結する。1つめの条件と2つめの条件が両方とも真のとき、真を返す。
  • () または () — 2つの条件を連結する。1つめの条件と2つめの条件を別々に判断して、どちらかが真を返すとき、真を返す。
  • () ではない — 与えられた条件が偽のとき(条件が満たされないとき)、真を返す。
  • () に () が含まれる — 指定した文字列に指定した文字列が含まれるとき真を返す。

Scratch 3.0の演算ブロックには、11個の値ブロックが存在する:

  • () + () — 足し算の結果(和)
  • () - () — 引き算の結果(差)
  • () * () — かけ算の結果(積)
  • () / () — わり算の結果(商)
  • () から () までの乱数 — 指定した2つの値の範囲で乱数(ランダムな数)を返す。
  • () と () — 2つの値を接続する。
  • () の () 番目の文字 — 指定した位置の文字などを返す。
  • () の長さ — 指定した文字などの長さ。
  • () を () で割った余り — わり算の余り(剰余)
  • () を四捨五入 — 値を四捨五入して、一番近い整数を返す。
  • () の () — 指定した値の、絶対値(abs)、平方根(sqrt)正弦(sin)、余弦(cos)、正接(tan)、逆正弦(asin)、逆余弦(acos)、逆正接(atan)自然対数(ln))、対数(log)指数関数(e^)、底を10とする指数関数(10^)を返す。

作った

詳細は「ブロック定義 (カテゴリ)」を参照

作った では、ユーザーが自分でカスタムブロックを定義して使うことができる。Scratch 3.0では、このためのブロックとして2種類が用意されている。

Scratch 3.0のブロック定義 (カテゴリ)では、次のハットブロックを使用できる。

  • 定義 () —このブロックを使って、カスタムブロックを 定義する。

Scratch 3.0のブロック定義 (カテゴリ)では、次のスタックブロックを使用できる。

  • () — カスタムブロック(自分で定義したブロック)。


Scratchブロックプラグイン

詳細は「ブロックプラグイン」を参照

Scratchブロックプラグインを使用すると、ディスカッションフォーラムScratch Wiki(その他のJavaScript製専用プラグインを組み込んだサイト)で、Scratchのブロックやスクリプトをそのまま表現することができる。 次に、このプラグインの使用例を示す:

@greenFlag が押されたとき::events hat
歩く
定義 歩く
//定義も再現可能
x座標を (0) 、y座標を (0) にする
ずっと
((-10)から(10)までの乱数)歩動かす
スタンプ
(1) 秒待つ

//コメント

その他のプログラミング言語におけるブロック

SandCastleIcon.png このページには、ScratchのWebサイトまたはWikipedia,Scratch Wiki以外へのリンクがあります。 他のサイトの安全を保証することはできないため、インターネットを使用する際は常に安全を忘れないようにしてください。

ブロックを使用するプログラミング言語としては、Scratchは最初期に登場しており、ブロックを使うというアイディアはその他の多くの言語に影響を与えている。 Mod版Scratch には、Scratchの本家であるMIT版では今のところ採用されていない、新しいブロックが多数含まれている(MITでは、MIT App Inventorのような、ブロックを使うプログラミング言語を他にも作成している)。さらに現在では、Stencyl など、全面的にブロックを使用する言語でありながら、リアルタイムアプリケーションやオンラインゲームにも対応したプロ志向の言語も登場している。また、より幼い子供にも理解しやすい言語として開発されたScratch Jr もブロックを使ったプログラミング言語である。

参照