提供: Japanese Scratch-Wiki

(ブロック名の変更 (bot))
(8人の利用者による、間の37版が非表示)
1行目: 1行目:
'''ブロック'''は、[[Scratch]] のプログラムを組み立てるために使う部品で、ジグゾーパズルのようにつなげて使用する。それぞれのブロックは、役割(「イベントを受け取る」「命令を出す」「値を返す」「真偽を返す」「スクリプトの終わりを表す」など)によって異なる形をしており、それぞれの形には、その形がピッタリはまる専用のスロット(ブロックを入れる場所)が存在している(これによって、プログラム上の構文エラーの発生を防いでいる)。なお、複数のブロックを組み合わせてひとまとめにしたものを、[[スクリプト]]という。
+
{{ひらがなヘッダ}}
 +
{{注目の記事|2018年2月}}
 +
'''ブロック'''は、[[Scratch]] のプログラムを組み立てるために使う部品で、ジグゾーパズルのようにつなげて使用する。それぞれのブロックは、役割(「イベントを受け取る」「命令を出す」「値を返す」「真偽を返す」「スクリプトの終わりを表す」など)によって異なる形をしており、それぞれの形には、その形がピッタリはまる専用のスロット(ブロックを入れる場所)が存在している(これによって、プログラム上の構文エラーの発生を防いでいる)。なお、複数のブロックを組み合わせてひとまとめにしたものを、[[スクリプト]]という。この記事では特に言及していない場合、拡張機能のブロックは除外している。これについては[[拡張機能 (3.0)|拡張機能]]の記事を参照してほしい。
  
ブロックには次の12種類のカテゴリが存在する。このうち10種類が [[ブロックパレット]]に表示されている。
+
ブロックには次の10種類のカテゴリが存在する。
  
[[動きブロック|動き]]、[[見た目ブロック|見た目]]、[[音ブロック|音]]、[[ペンブロック|ペン]]、[[変数ブロック|変数]]、[[リストブロック|リスト]]、[[イベントブロック|イベント]]、[[制御ブロック|制御]]、[[調べるブロック|調べる]]、[[演算ブロック|演算]]、[[PicoBoardブロック|PicoBoard]]、[[LEGO WeDoブロック|LEGO WeDo]]
+
[[動きブロック|動き]]、[[見た目ブロック|見た目]]、[[音ブロック|音]]、[[変数ブロック|変数]]、[[リストブロック|リスト]]、[[イベントブロック|イベント]]、[[制御ブロック|制御]]、[[調べるブロック|調べる]]、[[演算ブロック|演算]]、[[ブロック定義 (カテゴリ)|作った]]
  
(※ [[Mod版Scratch|Mod版Scratch]]には、その他のカテゴリやブロックを持つものもある)。
+
ただし、[[Mod版Scratch|Mod版Scratch]]([[ScratchX]])には、その他のカテゴリやブロックを持つものもある。
  
 
+
形状別に見た場合は、Scratch全体で、[[ハットブロック]]が7個、[[C型ブロック]]が5個、[[値ブロック]]が33個、[[真偽ブロック]]が13個、[[キャップブロック]]が2個、[[スタックブロック]]が59個存在する。
形状別に見た場合は、Scratch全体で、[[ハットブロック]]が11個、[[C型ブロック]]が5個、[[値ブロック]]が37個、[[真偽ブロック]]が13個、[[キャップブロック]]が2個、[[スタックブロック]]が77個存在する。
 
 
==ブロックの形状==
 
==ブロックの形状==
  
16行目: 17行目:
 
[[File:The shape of a Hat Block.png|frame|ハットブロックのかたち]]
 
[[File:The shape of a Hat Block.png|frame|ハットブロックのかたち]]
 
{{メイン|ハットブロック}}
 
{{メイン|ハットブロック}}
'''ハットブロック'''(Hat Block)とは、スクリプトを開始するブロックであり、上が丸く、下に出っぱりがある形状をしている(したがって、下にしかブロックをつなげられない)。ハットブロックは全部で11個あり、そのうち6個が「イベント」、1個が「制御」、4個が「その他」に含まれている。
+
'''ハットブロック'''(Hat Block)とは、スクリプトを開始するブロックであり、上が丸く、下に出っぱりがある形状をしている(したがって、下にしかブロックをつなげられない)。ハットブロックは全部で7個あり、そのうち6個が「イベント」、1個が「制御」に含まれている。
 
次に、ハットブロックの例を示す:
 
次に、ハットブロックの例を示す:
<scratchblocks>@ がクリックされたとき</scratchblocks> <scratchblocks>このスプライトがクリックされたとき</scratchblocks>
+
 
 +
<sb>@greenFlag が押されたとき::events hat</sb>
 +
 
 +
<sb>このスプライトが押されたとき::events hat</sb>
  
 
===スタックブロック===
 
===スタックブロック===
 
[[File:The shape of a Stack Block.png|frame|left|スタックブロックのかたち]]
 
[[File:The shape of a Stack Block.png|frame|left|スタックブロックのかたち]]
 
{{メイン|スタックブロック}}
 
{{メイン|スタックブロック}}
'''スタックブロック'''(Stack Block)は、各種の命令を実行するブロックであり、上にくぼみ、下に出っぱりがある形状をしている(したがって、上下にブロックをつなげられる)。スタックブロックは全部で77個あり、ブロック形状別に見た場合、もっとも数が多い。
+
'''スタックブロック'''(Stack Block)は、各種の命令を実行するブロックであり、上にくぼみ、下に出っぱりがある形状をしている(したがって、上下にブロックをつなげられる)。スタックブロックは全部で59個あり、ブロック形状別に見た場合、もっとも数が多い。
  
 
===真偽ブロック===
 
===真偽ブロック===
34行目: 38行目:
 
[[File:The shape of a Reporter Block.png|frame|left|値ブロックのかたち]]
 
[[File:The shape of a Reporter Block.png|frame|left|値ブロックのかたち]]
 
{{メイン|値ブロック}}
 
{{メイン|値ブロック}}
'''値ブロック'''(Reporter Block)は、数値や[[文字列]]を返すブロックである。たとえば誰かに「2+2っていくつ?」と尋ねれば、「4」という答えが帰ってくるだろうが、値ブロックもこれと同じように数値や文字列を答えとして返す。なお、質問できる内容は数式だけではない。値ブロックは、だ円形をしており、全部で37個存在する(値ブロックは、変数やリストを自分で作成した場合、理論上、無限に増やせるが、ここではそういったブロックは数に入れていない)。
+
'''値ブロック'''(Reporter Block)は、数値や[[文字列]]を返すブロックである。たとえば誰かに「2+2っていくつ?」と尋ねれば、「4」という答えが帰ってくるだろうが、値ブロックもこれと同じように数値や文字列を答えとして返す。なお、質問できる内容は数式だけではない。値ブロックは、だ円形をしており、全部で33個存在する(値ブロックは、変数やリストを自分で作成した場合、理論上、無限に増やせるが、ここではそういったブロックは数に入れていない)。
  
  
48行目: 52行目:
  
 
==ブロック一覧==
 
==ブロック一覧==
Scratch 2.0には全部で145個のブロックが存在する。
+
Scratch 3.0には拡張機能とユーザーが定義したブロックを除けば全部で119個のブロックが存在する。
  
 
===動きブロック===
 
===動きブロック===
 
{{メイン|動きブロック}}
 
{{メイン|動きブロック}}
  
'''動きブロック'''は、[[スプライト]] の動きをコントロールするブロック群である。Scratch 2.0.には、全部で17個の動きブロックが存在する。
+
'''動きブロック'''は、[[スプライト]] の動きをコントロールするブロック群である。Scratch 3.0には、全部で18個の動きブロックが存在する。
Scratch 2.0の動きブロックには、14個のスタックブロックが存在する:
+
Scratch 3.0の動きブロックには、15個のスタックブロックが存在する:
 
*[[() 歩動かす (ブロック)|() 歩動かす]] {{-}} スプライトを、指定した歩数、現在の「向き」に動かす
 
*[[() 歩動かす (ブロック)|() 歩動かす]] {{-}} スプライトを、指定した歩数、現在の「向き」に動かす
*[[() 度回す (ブロック)|() 度回す]] {{-}} スプライトを、現在の向きから指定した角度、時計回りに回転する。
+
*[[() 度回す (ブロック)|() 度回す]] {{-}} スプライトを、現在の向きから指定した角度、時計回りに回転する。
*[[() 度回す (ブロック)|() 度回す]] {{-}} スプライトを、現在の向きから指定した角度、反時計回りに回転する。
+
*[[() 度回す (ブロック)| () 度回す]] {{-}} スプライトを、現在の向きから指定した角度、反時計回りに回転する。
 
*[[() 度に向ける (ブロック)|() 度に向ける]] {{-}} スプライトを、指定した角度を向くように回転する
 
*[[() 度に向ける (ブロック)|() 度に向ける]] {{-}} スプライトを、指定した角度を向くように回転する
 
*[[() へ向ける (ブロック)|() へ向ける]] {{-}} スプライトを、マウスポインターや他のスプライトの方向を向くように回転する。
 
*[[() へ向ける (ブロック)|() へ向ける]] {{-}} スプライトを、マウスポインターや他のスプライトの方向を向くように回転する。
 
*[[x座標を () 、y座標を () にする (ブロック)|x座標を () 、y座標を () にする]] {{-}} 指定したx、y座標の位置にスプライトを移動する。
 
*[[x座標を () 、y座標を () にする (ブロック)|x座標を () 、y座標を () にする]] {{-}} 指定したx、y座標の位置にスプライトを移動する。
 
*[[() へ行く (ブロック)|() へ行く]] {{-}} スプライトを、マウスポインターや他のスプライトの位置に移動する。
 
*[[() へ行く (ブロック)|() へ行く]] {{-}} スプライトを、マウスポインターや他のスプライトの位置に移動する。
 +
*{{b|() 秒で () へ行く}} {{-}} 指定した時間を費やして、マウスポインターや他のスプライトの位置になめらかに移動する。
 
*[[() 秒でx座標を () に、y座標を () に変える (ブロック)|() 秒でx座標を () に、y座標を () に変える]] {{-}} 指定した時間を費やして、スプライトを指定した位置になめらかに移動する。
 
*[[() 秒でx座標を () に、y座標を () に変える (ブロック)|() 秒でx座標を () に、y座標を () に変える]] {{-}} 指定した時間を費やして、スプライトを指定した位置になめらかに移動する。
 
*[[x座標を () ずつ変える (ブロック)|x座標を () ずつ変える]] {{-}} スプライトのx座標を、現在の座標から指定した量、変化させる。
 
*[[x座標を () ずつ変える (ブロック)|x座標を () ずつ変える]] {{-}} スプライトのx座標を、現在の座標から指定した量、変化させる。
70行目: 75行目:
 
*[[回転方法を () にする (ブロック)|回転方法を () にする]] {{-}} スプライトの回転方法を、設定する。
 
*[[回転方法を () にする (ブロック)|回転方法を () にする]] {{-}} スプライトの回転方法を、設定する。
  
Scratch 2.0の動きブロックには、3個の値ブロックが存在する:
+
Scratch 3.0の動きブロックには、3個の値ブロックが存在する:
  
 
*[[x座標 (ブロック)|x座標]] {{-}} 選択中のスプライトのx座標
 
*[[x座標 (ブロック)|x座標]] {{-}} 選択中のスプライトのx座標
79行目: 84行目:
 
{{メイン|見た目ブロック}}
 
{{メイン|見た目ブロック}}
  
'''見た目ブロック''' は、スプライトの見た目をコントロールするブロック群である。Scratch 2.0には全部で23個の見た目ブロックが存在する。スプライトの見た目ブロックは19個であるが、このうち3個には、同等の機能を持つステージ用の見た目ブロックが存在する。
+
'''見た目ブロック''' は、スプライトの見た目をコントロールするブロック群である。Scratch 3.0には全部で20個の見た目ブロックが存在する。スプライトの見た目ブロックは19個であるが、このうち3個には、同等の機能を持つステージ用の見た目ブロックが存在する。
  
Scratch 2.0の見た目ブロックには、16個のスタックブロックが存在する:
+
Scratch 3.0の見た目ブロックには、17個のスタックブロックが存在する:
 
*[[() と () 秒言う (ブロック)|() と () 秒言う ]] {{-}} 指定した時間、スプライトの上にふきだしが表示される。
 
*[[() と () 秒言う (ブロック)|() と () 秒言う ]] {{-}} 指定した時間、スプライトの上にふきだしが表示される。
 
*[[() と言う (ブロック)|() と言う]] {{-}} スプライトの上にふきだしが表示される。このふきだしは自動では消えない。  
 
*[[() と言う (ブロック)|() と言う]] {{-}} スプライトの上にふきだしが表示される。このふきだしは自動では消えない。  
90行目: 95行目:
 
*[[コスチュームを () にする (ブロック)|コスチュームを () にする]]/[[背景を () にする (ブロック)|背景を () にする]] {{-}} スプライト/[[ステージ]]の[[コスチューム]]/[[背景]]を指定したものに変える。
 
*[[コスチュームを () にする (ブロック)|コスチュームを () にする]]/[[背景を () にする (ブロック)|背景を () にする]] {{-}} スプライト/[[ステージ]]の[[コスチューム]]/[[背景]]を指定したものに変える。
 
*[[背景を () にして待つ (ブロック)|背景を () にして待つ]] {{-}} 「背景を () にする」ブロック同様、背景を変更し、さらに、これによって引き起こされたすべてのハットブロック内のスクリプトが終了するまで待つ(ステージ専用ブロック)。
 
*[[背景を () にして待つ (ブロック)|背景を () にして待つ]] {{-}} 「背景を () にする」ブロック同様、背景を変更し、さらに、これによって引き起こされたすべてのハットブロック内のスクリプトが終了するまで待つ(ステージ専用ブロック)。
*[[次のコスチュームにする (ブロック)|次のコスチュームにする]]/[[次の背景 (ブロック)|次の背景]] {{-}} スプライト/ステージのコスチューム/背景をコスチュームリストの次のものに変更する。
+
*[[次のコスチュームにする (ブロック)|次のコスチュームにする]] {{-}} スプライトのコスチュームをコスチュームリストの次のものに変更する。スプライト専用。
 +
*[[次の背景にする (ブロック)|次の背景にする]] {{-}} 背景を背景リストの次のものにする。
 
*[[() の効果を () ずつ変える (ブロック)|() の効果を () ずつ変える]] {{-}} 指定した画像効果の適用量を、現在の量から指定した値、変更する。
 
*[[() の効果を () ずつ変える (ブロック)|() の効果を () ずつ変える]] {{-}} 指定した画像効果の適用量を、現在の量から指定した値、変更する。
 
*[[() の効果を () にする (ブロック)|() の効果を () にする]] {{-}} 指定した画像効果の適用量を、指定した値にする。
 
*[[() の効果を () にする (ブロック)|() の効果を () にする]] {{-}} 指定した画像効果の適用量を、指定した値にする。
 
*[[画像効果をなくす (ブロック)|画像効果をなくす]] {{-}} スプライトに指定されたすべての画像効果を解除する。
 
*[[画像効果をなくす (ブロック)|画像効果をなくす]] {{-}} スプライトに指定されたすべての画像効果を解除する。
 
*[[大きさを () ずつ変える (ブロック)|大きさを () ずつ変える]] {{-}} スプライトの大きさを、現在の値から指定した値、変更する。
 
*[[大きさを () ずつ変える (ブロック)|大きさを () ずつ変える]] {{-}} スプライトの大きさを、現在の値から指定した値、変更する。
*[[大きさを ()% にする (ブロック)|大きさを ()% にする]] {{-}} スプライトの大きさを指定した値にする。
+
*[[大きさを () % にする (ブロック)|大きさを () % にする]] {{-}} スプライトの大きさを指定した値にする。
*[[前に出す (ブロック)|前に出す]] {{-}} スプライトを最前面に移動する。
+
*[[() へ移動する (ブロック)|() へ移動する]] {{-}} スプライトを最前面や最背面に移動する。
*[[() 層下げる (ブロック)|() 層下げる]] {{-}} スプライトの重なり順を、指定した数値分、背面に移動する。
+
*[[() 層 () (ブロック)|() 層 ()]] {{-}} スプライトの重なり順を、指定した数値分、前面や背面に移動する。
  
Scratch 2.0の見た目ブロックには、値ブロックが3個存在する。
+
Scratch 3.0の見た目ブロックには、値ブロックが3個存在する。
*[[コスチューム番号 (ブロック)|コスチューム # (スプライト)]] / [[背景の番号 (ブロック)|背景 # (ステージ)]] {{-}} スプライト/ステージの現在のコスチューム/背景のリストにおける番号。
+
*[[コスチュームの () (ブロック)|コスチュームの ()]] {{-}} スプライトの現在のコスチュームのリストにおける番号または名前。
*[[背景の名前 (ブロック)|背景の名前]]  {{-}}  現在の背景の名前。
+
*[[背景の () (ブロック)|背景の ()]]  {{-}}  現在の背景の番号または名前。
 
*[[大きさ (ブロック)|大きさ]] {{-}} 選択中のスプライトの大きさ。
 
*[[大きさ (ブロック)|大きさ]] {{-}} 選択中のスプライトの大きさ。
  
108行目: 114行目:
 
{{メイン|音ブロック}}
 
{{メイン|音ブロック}}
  
'''音ブロック'''は、音とMIDI機能に関するコントロールを行うブロック群である。Scratch 2.0には13個の音ブロックが存在する。
+
'''音ブロック'''は、音とMIDI機能に関するコントロールを行うブロック群である。Scratch 3.0には9個の音ブロックが存在する。
  
Scratch 2.0の音ブロックには、11個のスタックブロックが存在する。
+
Scratch 3.0の音ブロックには、8個のスタックブロックが存在する。
  
 
*[[() の音を鳴らす (ブロック)|() の音を鳴らす]] {{-}} スクリプトを停止しないで、音(音楽)を鳴らす。
 
*[[() の音を鳴らす (ブロック)|() の音を鳴らす]] {{-}} スクリプトを停止しないで、音(音楽)を鳴らす。
 
*[[終わるまで () の音を鳴らす (ブロック)|終わるまで () の音を鳴らす]] {{-}} 最後まで音(音楽)を鳴らしつつ、その間、スクリプトの実行を停止する。
 
*[[終わるまで () の音を鳴らす (ブロック)|終わるまで () の音を鳴らす]] {{-}} 最後まで音(音楽)を鳴らしつつ、その間、スクリプトの実行を停止する。
 
*[[すべての音を止める (ブロック)|すべての音を止める]] {{-}} 現在鳴っている音をすべて止める
 
*[[すべての音を止める (ブロック)|すべての音を止める]] {{-}} 現在鳴っている音をすべて止める
*[[() のドラムを () 拍鳴らす (ブロック)|() のドラムを () 拍鳴らす]] {{-}} 指定したドラムの音を、指定した拍数鳴らす。
+
*[[() の効果を () ずつ変える (音ブロック)|() の効果を () ずつ変える]] {{-}} 音の効果を指定された値だけ変える
*[[() 拍休む (ブロック)|() 拍休む]] {{-}} 指定した量、スクリプトの実行を停止する。
+
*[[() の効果を () にする (音ブロック)|() の効果を () にする]] {{-}} 音の効果を指定された値にする
*[[() の音符を () 拍鳴らす (ブロック)|() の音符を () 拍鳴らす]] {{-}} 指定した音程の音を、指定した拍数鳴らす。
+
*{{b|音の効果をなくす}} {{-}} 音の効果をすべてなくす。
*[[楽器を () にする (ブロック)|楽器を () にする]] {{-}} 現在の楽器を指定したもの設定する。
 
 
*[[音量を () ずつ変える (ブロック)|音量を () ずつ変える]] {{-}} 音量を、現在の音量から、指定した量変更する。
 
*[[音量を () ずつ変える (ブロック)|音量を () ずつ変える]] {{-}} 音量を、現在の音量から、指定した量変更する。
*[[音量を ()% にする (ブロック)|音量を ()% にする]] {{-}} 音量を指定した量にする。
+
*[[音量を () % にする (ブロック)|音量を () % にする]] {{-}} 音量を指定した量にする。
*[[テンポを () ずつ変える (ブロック)|テンポを () ずつ変える]] {{-}} テンポを、現在のテンポから指定した量、変更する。
 
*[[テンポを () BPMにする (ブロック)|テンポ を () BPMにする]] {{-}} テンポを、指定したBPMにする。
 
  
Scratch 2.0の音ブロックには、2つの値ブロックが存在する:
+
Scratch 3.0の音ブロックには、1つのみ値ブロックが存在する:
 
 
*[[音量 (ブロック)|音量]] {{-}} 音量
+
*[[音量 (音ブロック)|音量]] {{-}} 音量
*[[テンポ (ブロック)|テンポ]] {{-}} テンポ
 
 
 
===ペンブロック===
 
 
 
{{メイン|ペンブロック}}
 
 
 
'''ペンブロック''' はペン機能をコントロールするブロック群である。Scratch 2.0には、11個のペンブロックが存在する。
 
 
 
Scratch 2.0のペンブロックには、11個のスタックブロックが存在する。
 
 
 
*[[消す (ブロック)|消す]] {{-}} 画面上にペン機能で描かれたものを、すべて消す。
 
*[[スタンプ (ブロック)|スタンプ]] {{-}} スプライトの現在の見た目を画面に転写する。このブロックで描かれた内容は、消すブロックで削除できる。
 
*[[ペンを下ろす (ブロック)|ペンを下ろす]] {{-}} 現在のスプライトで、 ペン を下ろした状態にする。
 
*[[ペンを上げる (ブロック)|ペンを上げる]] {{-}} 現在のスプライトで、ペンを上げた状態にする。
 
*[[ペンの色を () にする (ブロック)|ペンの色を () にする(色選択)]] {{-}}画面上から色を選択して、ペンをその色に設定する。
 
*[[ペンの色を () ずつ変える (ブロック)|ペンの色を () ずつ変える]] {{-}} ペンの色を、現在の色から指定した量だけ変更する。
 
*[[ペンの色を () にする (ブロック)|ペンの色を () にする (数値)]] {{-}} ペンの色を、指定した数値に設定する。
 
*[[ペンの濃さを () ずつ変える (ブロック)|ペンの濃さを () ずつ変える]] {{-}} ペンの濃さを、現在の濃さから指定した量だけ変更する。
 
*[[ペンの濃さを () にする (ブロック)|ペンの濃さを () にする]] {{-}} ペンの濃さを指定した数値に設定する。
 
*[[ペンの太さを () ずつ変える (ブロック)|ペンの太さを () ずつ変える]] {{-}} ペンの太さを、現在の大きさから指定した量だけ変更する。
 
*[[ペンの太さを () にする (ブロック)|ペンの太さを () にする]] {{-}} ペンの太さを指定した数値に設定する。
 
 
 
Scratch Day 2011で発表された[[Scratch 2.0]] pre-alpha版では、ペンカテゴリのスタックブロックとして次のブロックが存在していた。
 
 
 
*[[stamp transparent () (ブロック)|stamp transparent ()]](透明スタンプ) {{-}} 現在のスプライトの見た目を、指定した数値に応じて透明化し、画面に転写するブロック。現在では、スタンプに対して「幽霊の効果」が適用できるようになったため、このブロックは廃止された。
 
  
 
===データブロック===
 
===データブロック===
158行目: 136行目:
 
{{メイン|変数ブロック}}
 
{{メイン|変数ブロック}}
  
'''変数ブロック''' は、値や[[文字列]]を持つブロックである。Scratch 2.0には、5個の変数ブロックが存在する。
+
'''変数ブロック''' は、値や[[文字列]]を持つブロックである。Scratch 3.0には、5個の変数ブロックが存在する。
  
Scratch 2.0の変数ブロックには、4つのスタックブロックが存在する:
+
Scratch 3.0の変数ブロックには、4つのスタックブロックが存在する:
  
 
*[[() を () にする (ブロック)|() を () にする]] {{-}} 指定した変数に、指定した値を入れる。
 
*[[() を () にする (ブロック)|() を () にする]] {{-}} 指定した変数に、指定した値を入れる。
167行目: 145行目:
 
*[[変数 () を隠す (ブロック)|変数 () を隠す]] {{-}} 指定した変数のステージモニターを隠す。
 
*[[変数 () を隠す (ブロック)|変数 () を隠す]] {{-}} 指定した変数のステージモニターを隠す。
  
Scratch 2.0の変数には、値ブロックが1つ存在する:
+
Scratch 3.0の変数には、値ブロックが1つ存在する:
  
 
*[[() (変数ブロック)|()]] {{-}} その変数の値
 
*[[() (変数ブロック)|()]] {{-}} その変数の値
175行目: 153行目:
 
{{メイン|リストブロック}}
 
{{メイン|リストブロック}}
  
'''リストブロック''' は[[リスト]]を扱うためのブロック群である。これらのブロックはデータカテゴリに用意されている。Scratch 2.0には、全部で10個リストブロックが存在する。
+
'''リストブロック''' は[[リスト]]を扱うためのブロック群である。これらのブロックはデータカテゴリに用意されている。Scratch 3.0には、全部で12個リストブロックが存在する。
  
Scratch 2.0のリストブロックには、スタックブロックが6個存在する:
+
Scratch 3.0のリストブロックには、スタックブロックが6個存在する:
  
 
*[[() を () に追加する (ブロック)|() を () に追加する]] {{-}} リストに指定した値の要素を1つ追加する (このとき、新しい要素はリストの最後に追加される)。
 
*[[() を () に追加する (ブロック)|() を () に追加する]] {{-}} リストに指定した値の要素を1つ追加する (このとき、新しい要素はリストの最後に追加される)。
*[[() 番目を () から削除する(ブロック)|() 番目を () から削除する]] {{-}} リストの指定した要素を削除する。
+
*[[() () 番目を削除する (ブロック)|() () 番目を削除する]] {{-}} リストの指定した要素を削除する。
*[[() () 番目に挿入する( () (ブロック)|() () 番目に挿入する( () ]] {{-}} リストに指定した値の要素を1つ追加する。このとき、新しい要素は指定した位置に入れられる。
+
*[[() () 番目に () を挿入する (ブロック)|() () 番目に () を挿入する]] {{-}} リストに指定した値の要素を1つ追加する。このとき、新しい要素は指定した位置に入れられる。
*[[() 番目( () )を () で置き換える (ブロック)|() 番目( () )を () で置き換える]] {{-}} リストの指定した要素の中身を、指定した値に置き換える。
+
*[[() () 番目を () で置き換える (ブロック)|() () 番目を () で置き換える]] {{-}} リストの指定した要素の中身を、指定した値に置き換える。
 
*[[リスト () を表示する (ブロック)|リスト () を表示する]] {{-}} リストモニターを表示する。
 
*[[リスト () を表示する (ブロック)|リスト () を表示する]] {{-}} リストモニターを表示する。
 
*[[リスト () を隠す (ブロック)|リスト () を隠す]] {{-}} リストモニターを隠す。
 
*[[リスト () を隠す (ブロック)|リスト () を隠す]] {{-}} リストモニターを隠す。
  
Scratch 2.0のリストブロックには、3つの値ブロックが存在する:
+
Scratch 3.0のリストブロックには、4つの値ブロックが存在する:
  
 
*[[() (リストブロック)|()]] {{-}} そのリストの値。
 
*[[() (リストブロック)|()]] {{-}} そのリストの値。
*[[() 番目( () (ブロック)|() 番目( () ]] {{-}} 指定した要素の値。
+
*[[() () 番目 (ブロック)|() () 番目]] {{-}} 指定した要素の値。
 
*[[() の長さ (リストブロック)|() の長さ]] {{-}} 指定したリストに含まれる要素の数。
 
*[[() の長さ (リストブロック)|() の長さ]] {{-}} 指定したリストに含まれる要素の数。
 +
*{{b|() 中の () の場所}} {{-}} 指定した項目がリスト中に含まれている最初の番目。
  
Scratch 2.0のリストブロックには、次の真偽ブロックが存在する:
+
Scratch 3.0のリストブロックには、次の真偽ブロックが存在する:
  
 
*[[() に () が含まれる (ブロック)|() に () が含まれる]] {{-}} 要素の中に、指定したテキストと同じ値を持つものがあるかどうかを判断する。
 
*[[() に () が含まれる (ブロック)|() に () が含まれる]] {{-}} 要素の中に、指定したテキストと同じ値を持つものがあるかどうかを判断する。
200行目: 179行目:
 
{{メイン|イベントブロック}}
 
{{メイン|イベントブロック}}
  
'''イベントブロック''' はイベントをコントロールして、各種のスクリプト開始のきっかけとなるブロック群である。Scratch 2.0には、全部で8個のイベントブロックが存在する。
+
'''イベントブロック''' はイベントをコントロールして、各種のスクリプト開始のきっかけとなるブロック群である。Scratch 3.0には、全部で8個のイベントブロックが存在する。
Scratch 2.0のイベントブロックには、次の6個のハットブロックが存在する:
+
Scratch 3.0のイベントブロックには、次の6個のハットブロックが存在する:
  
*[[緑の旗がクリックされたとき (ブロック)|緑の旗がクリックされたとき]] {{-}} 緑の旗がクリックされたとき、スクリプトを開始する。
+
*[[緑の旗が押されたとき (ブロック)|緑の旗がクリックされたとき]] {{-}} 緑の旗がクリックされたとき、スクリプトを開始する。
 
*[[() キーが押されたとき (ブロック)|() キーが押されたとき]] {{-}} 指定したキーが押されたとき、スクリプトを開始する。
 
*[[() キーが押されたとき (ブロック)|() キーが押されたとき]] {{-}} 指定したキーが押されたとき、スクリプトを開始する。
*[[このスプライトがクリックされたとき (ブロック)|このスプライトがクリックされたとき]] {{-}} 現在のスプライトがクリックされたとき、スクリプトを開始する。
+
*[[このスプライトが押されたとき (ブロック)|このスプライトが押されたとき::events hat]] {{-}} 現在のスプライトがクリックされたとき、スクリプトを開始する。
 
*[[背景が () になったとき (ブロック)|背景が () になったとき]] {{-}} 背景が選択したものに変更されたとき、スクリプトを開始する。
 
*[[背景が () になったとき (ブロック)|背景が () になったとき]] {{-}} 背景が選択したものに変更されたとき、スクリプトを開始する。
 
*[[() > () のとき (ブロック)|() > () のとき]] {{-}} 1つめの値が2つめの値より大きいとき、スクリプトを開始する。
 
*[[() > () のとき (ブロック)|() > () のとき]] {{-}} 1つめの値が2つめの値より大きいとき、スクリプトを開始する。
 
*[[() を受け取ったとき (ブロック)|() を受け取ったとき]] {{-}} メッセージを受け取ったとき、スクリプトを開始する。
 
*[[() を受け取ったとき (ブロック)|() を受け取ったとき]] {{-}} メッセージを受け取ったとき、スクリプトを開始する。
  
Scratch 2.0のイベントブロックには、次の2個のスタックブロックが存在する:
+
Scratch 3.0のイベントブロックには、次の2個のスタックブロックが存在する:
  
 
*[[() を送る (ブロック)|() を送る]] {{-}} Scratchプログラム全体にメッセージを送る。送ったメッセージが指定された「() を受け取ったとき」ブロックがあれば、そのスクリプトを実行する。
 
*[[() を送る (ブロック)|() を送る]] {{-}} Scratchプログラム全体にメッセージを送る。送ったメッセージが指定された「() を受け取ったとき」ブロックがあれば、そのスクリプトを実行する。
219行目: 198行目:
 
{{メイン|制御ブロック}}
 
{{メイン|制御ブロック}}
  
'''制御ブロック'''はスクリプトを制御するためのブロック群である。Scratch 2.0には、11この制御ブロックが存在する。
+
'''制御ブロック'''はスクリプトを制御するためのブロック群である。Scratch 3.0には、11この制御ブロックが存在する。
  
Scratch 2.0の制御ブロックには、1つだけハットブロックが含まれる。
+
Scratch 3.0の制御ブロックには、1つだけハットブロックが含まれる。
  
 
*[[クローンされたとき (ブロック)|クローンされたとき]] (スプライトのみ)  {{-}} クローンが作成されるたびに指定したスクリプトを実行するが、スクリプト実行の対象となるのは、作成されたそのクローンだけである。
 
*[[クローンされたとき (ブロック)|クローンされたとき]] (スプライトのみ)  {{-}} クローンが作成されるたびに指定したスクリプトを実行するが、スクリプト実行の対象となるのは、作成されたそのクローンだけである。
  
Scratch 2.0の制御ブロックには、3個のスタックブロックが存在する:
+
Scratch 3.0の制御ブロックには、3個のスタックブロックが存在する:
  
 
*[[() 秒待つ (ブロック)|() 秒待つ]] {{-}} 指定された秒数、スクリプトの実行を止める。
 
*[[() 秒待つ (ブロック)|() 秒待つ]] {{-}} 指定された秒数、スクリプトの実行を止める。
231行目: 210行目:
 
*[[() のクローンを作る (ブロック)|() のクローンを作る]] {{-}} 指定したクローンを作成する。
 
*[[() のクローンを作る (ブロック)|() のクローンを作る]] {{-}} 指定したクローンを作成する。
  
Scratch 2.0の制御ブロックには、5個のC型ブロックが存在する:
+
Scratch 3.0の制御ブロックには、5個のC型ブロックが存在する:
  
 
*[[() 回繰り返す (ブロック)|() 回繰り返す]] {{-}} 指定した回数、処理を繰り返す。
 
*[[() 回繰り返す (ブロック)|() 回繰り返す]] {{-}} 指定した回数、処理を繰り返す。
 
*[[ずっと (ブロック)|ずっと]] {{-}} 永遠に処理を繰り返す。
 
*[[ずっと (ブロック)|ずっと]] {{-}} 永遠に処理を繰り返す。
 
*[[もし () なら (ブロック)|もし () なら]] {{-}} 「もし () なら」で与えられた条件を確認して、条件が満たされていれば(Trueであれば)、中に入れられたブロックを実行する。
 
*[[もし () なら (ブロック)|もし () なら]] {{-}} 「もし () なら」で与えられた条件を確認して、条件が満たされていれば(Trueであれば)、中に入れられたブロックを実行する。
*[[もし () なら, でなければ (ブロック)|もし () なら, でなければ]] {{-}} もし () なら」で与えられた条件を確認して、条件が満たされていれば(Trueであれば)、中に入れられた1番目のブロックのまとまりを実行し、条件が満たされていなければ(Falseであれば)、2番めのブロックのまとまりを実行する。
+
*[[もし () なら、でなければ (ブロック)|もし () なら、でなければ]] {{-}} 「もし () なら」で与えられた条件を確認して、条件が満たされていれば(Trueであれば)、中に入れられた1番目のブロックのまとまりを実行し、条件が満たされていなければ(Falseであれば)、2番めのブロックのまとまりを実行する。
 
*[[() まで繰り返す (ブロック)|() まで繰り返す]] {{-}} 条件が最初に満たされたとき、繰り返し処理を止める。
 
*[[() まで繰り返す (ブロック)|() まで繰り返す]] {{-}} 条件が最初に満たされたとき、繰り返し処理を止める。
  
Scratch 2.0の制御ブロックには、2つキャップブロックが存在する:
+
Scratch 3.0の制御ブロックには、2つキャップブロックが存在する:
  
 
*[[() を止める (ブロック)|() を止める]] {{-}} ドロップダウンメニューから選択したスクリプトを停止する。なお、「スプライトの他のスクリプト」が選択されたときは、スタックブロックになる。
 
*[[() を止める (ブロック)|() を止める]] {{-}} ドロップダウンメニューから選択したスクリプトを停止する。なお、「スプライトの他のスクリプト」が選択されたときは、スタックブロックになる。
247行目: 226行目:
  
 
{{メイン|調べるブロック}}
 
{{メイン|調べるブロック}}
'''調べるブロック'''は、何らかの事象を検出するブロック群である。Scratch 2.0には、調べるブロックが20個存在する。
+
'''調べるブロック'''は、何らかの事象を検出するブロック群である。Scratch 3.0には、調べるブロックが18個存在する。
  
Scratch 2.0の調べるブロックには、4個のスタックブロックが存在する:

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

*[[() と聞いて待つ(ブロック)|() と聞いて待つ]] {{-}} 入力ボックスが表示される。{{-}} このボックスに値を入力すると、その値が [[答え (ブロック)|答え]] 変数に入れられる。
+
*[[() と聞いて待つ (ブロック)|() と聞いて待つ]] {{-}} 入力ボックスが表示される。{{-}} このボックスに値を入力すると、その値が [[答え (ブロック)|答え]] 変数に入れられる。
 
*[[タイマーをリセット (ブロック)|タイマーをリセット]] {{-}} タイマーをリセットする。
 
*[[タイマーをリセット (ブロック)|タイマーをリセット]] {{-}} タイマーをリセットする。
*[[ビデオを () にする (ブロック)|ビデオを () にする]] {{-}} ビデオをオン/オフ/左右反転する。
+
*{{b|ドラッグ () ようにする}} {{-}} ドラッグモードを設定する。
*[[ビデオの透明度を ()% にする (ブロック)|ビデオの透明度を ()% にする]] {{-}} ビデオの透明度を設定する。
 
  
Scratch 2.0の調べるブロックには、5個の真偽ブロックが存在する:
+
Scratch 3.0の調べるブロックには、5個の真偽ブロックが存在する:
  
 
*[[() に触れた (ブロック)|() に触れた]] {{-}} 選択中のスプライトがマウスポインターや他のスプライトに触れているかどうかを判別して、その真偽を返す。
 
*[[() に触れた (ブロック)|() に触れた]] {{-}} 選択中のスプライトがマウスポインターや他のスプライトに触れているかどうかを判別して、その真偽を返す。
263行目: 241行目:
 
*[[マウスが押された (ブロック)|マウスが押された]] {{-}} マウスが押されているかどうかを判別して、その真偽を返す。
 
*[[マウスが押された (ブロック)|マウスが押された]] {{-}} マウスが押されているかどうかを判別して、その真偽を返す。
  
Scratch 2.0の調べるブロックには、11個の値ブロックが存在する:
+
Scratch 3.0の調べるブロックには、10個の値ブロックが存在する:
  
*[[() までの距離() (ブロック)|() までの距離()]] {{-}} 選択中のスプライトからマウスポインターまたは指定したスプライトまでの距離を返す。
+
*[[() までの距離 (ブロック)|() までの距離]] {{-}} 選択中のスプライトからマウスポインターまたは指定したスプライトまでの距離を返す。
 
*[[答え (ブロック)|答え]] {{-}} 一番最後に実行した「() と聞いて待つ」ブロックの入力結果。
 
*[[答え (ブロック)|答え]] {{-}} 一番最後に実行した「() と聞いて待つ」ブロックの入力結果。
 
*[[マウスのx座標 (ブロック)|マウスのx座標]] {{-}} マウスポインターのx座標.
 
*[[マウスのx座標 (ブロック)|マウスのx座標]] {{-}} マウスポインターのx座標.
271行目: 249行目:
 
*[[音量 (調べるブロック)|音量]] {{-}} コンピュータのマイクが検知した音量の大きさ。
 
*[[音量 (調べるブロック)|音量]] {{-}} コンピュータのマイクが検知した音量の大きさ。
 
*[[タイマー (ブロック)|タイマー]] {{-}} Scratchプログラムを開始してから、または、タイマーがリセットされてからの経過時間。
 
*[[タイマー (ブロック)|タイマー]] {{-}} Scratchプログラムを開始してから、または、タイマーがリセットされてからの経過時間。
*[[ビデオの () ( () ) (ブロック)|ビデオの () ( () )]] {{-}} 指定したオブジェクト上のビデオのモーションの大きさまたは向き。
+
*[[() () (調べるブロック)|() ()]] {{-}} ステージまたは指定したスプライトのx座標、y座標、向き、コスチューム、大きさ、音量 。
*[[() ( () ) (調べるブロック)|() ( () ) ]] {{-}} ステージまたは指定したスプライトのx座標、y座標、向き、コスチューム、大きさ、音量 。
 
 
*[[現在の () (ブロック)|現在の ()]] {{-}} 選択した単位の時間情報.(年、月、日、曜日、時、分、秒)。
 
*[[現在の () (ブロック)|現在の ()]] {{-}} 選択した単位の時間情報.(年、月、日、曜日、時、分、秒)。
 
*[[2000年からの日数 (ブロック)|2000年からの日数]] {{-}} 2000年1月1日からの経過日数。
 
*[[2000年からの日数 (ブロック)|2000年からの日数]] {{-}} 2000年1月1日からの経過日数。
280行目: 257行目:
 
{{メイン|演算ブロック}}
 
{{メイン|演算ブロック}}
  
'''演算ブロック'''は、数式、数学関数、文字列処理を行うブロック群である。Scratch 2.0には、17個の演算ブロックが存在する。
+
'''演算ブロック'''は、数式、数学関数、文字列処理を行うブロック群である。Scratch 3.0には、18個の演算ブロックが存在する。
  
Scratch 2.0の演算ブロックには、6個の真偽ブロックが存在する:
+
Scratch 3.0の演算ブロックには、7個の真偽ブロックが存在する:
  
 
*[[() < () (ブロック)|() < ()]] {{-}} 1つめの値が2つめの値より小さいかどうかを判別して返す。
 
*[[() < () (ブロック)|() < ()]] {{-}} 1つめの値が2つめの値より小さいかどうかを判別して返す。
289行目: 266行目:
 
*[[() かつ () (ブロック)|() かつ ()]] {{-}} 2つの条件を連結する。1つめの条件と2つめの条件が両方とも真のとき、真を返す。
 
*[[() かつ () (ブロック)|() かつ ()]] {{-}} 2つの条件を連結する。1つめの条件と2つめの条件が両方とも真のとき、真を返す。
 
*[[() または () (ブロック)|() または ()]] {{-}} 2つの条件を連結する。1つめの条件と2つめの条件を別々に判断して、どちらかが真を返すとき、真を返す。
 
*[[() または () (ブロック)|() または ()]] {{-}} 2つの条件を連結する。1つめの条件と2つめの条件を別々に判断して、どちらかが真を返すとき、真を返す。
*[[() ではない () (ブロック)|() ではない ()]] {{-}} 与えられた条件が偽のとき(条件が満たされないとき)、真を返す。
+
*[[() ではない (ブロック)|() ではない]] {{-}} 与えられた条件が偽のとき(条件が満たされないとき)、真を返す。
 +
*[[() に () が含まれる (演算ブロック)|() () が含まれる]] {{-}} 指定した文字列に指定した文字列が含まれるとき真を返す。
  
Scratch 2.0の演算ブロックには、11個の値ブロックが存在する:
+
Scratch 3.0の演算ブロックには、11個の値ブロックが存在する:
  
 
*[[() + () (ブロック)|() + ()]] {{-}} 足し算の結果(和)
 
*[[() + () (ブロック)|() + ()]] {{-}} 足し算の結果(和)
297行目: 275行目:
 
*[[() * () (ブロック)|() * ()]] {{-}} かけ算の結果(積)
 
*[[() * () (ブロック)|() * ()]] {{-}} かけ算の結果(積)
 
*[[() / () (ブロック)|() / ()]] {{-}} わり算の結果(商)
 
*[[() / () (ブロック)|() / ()]] {{-}} わり算の結果(商)
*[[() から () までの乱数(ブロック)|() から () までの乱数]] {{-}} 指定した2つの値の範囲で乱数(ランダムな数)を返す。
+
*[[() から () までの乱数 (ブロック)|() から () までの乱数]] {{-}} 指定した2つの値の範囲で乱数(ランダムな数)を返す。
 
*[[() と () (ブロック)|() と ()]] {{-}} 2つの値を接続する。
 
*[[() と () (ブロック)|() と ()]] {{-}} 2つの値を接続する。
*[[() 番目( () )の文字 (ブロック)|() 番目( () )の文字]] {{-}} 指定した位置の文字などを返す。
+
*[[() () 番目の文字 (ブロック)|() () 番目の文字]] {{-}} 指定した位置の文字などを返す。
 
*[[() の長さ (演算ブロック)|() の長さ]] {{-}} 指定した文字などの長さ。
 
*[[() の長さ (演算ブロック)|() の長さ]] {{-}} 指定した文字などの長さ。
 
*[[() を () で割った余り (ブロック)|() を () で割った余り]] {{-}} わり算の余り(剰余)
 
*[[() を () で割った余り (ブロック)|() を () で割った余り]] {{-}} わり算の余り(剰余)
 
*[[() を四捨五入 (ブロック)|() を四捨五入]] {{-}} 値を四捨五入して、一番近い整数を返す。
 
*[[() を四捨五入 (ブロック)|() を四捨五入]] {{-}} 値を四捨五入して、一番近い整数を返す。
*[[() ( () ) (演算ブロック)|() ( () )]] {{-}} 指定した値の、絶対値(abs)、平方根(sqrt)正弦(sin)、余弦(cos)、正接(tan)、逆正弦(asin)、逆余弦(acos)、逆正接(atan)自然対数(ln))、対数(log)指数関数(e^)、底を10とする指数関数(10^)を返す。
+
*[[() () (演算ブロック)|() ()]] {{-}} 指定した値の、絶対値(abs)、平方根(sqrt)正弦(sin)、余弦(cos)、正接(tan)、逆正弦(asin)、逆余弦(acos)、逆正接(atan)自然対数(ln))、対数(log)指数関数(e^)、底を10とする指数関数(10^)を返す。
 
 
<!--Right clicking some of theブロック will yield more choices of its type. 真偽不明のため保留 -->
 
  
===その他===
+
===作った===
{{メイン|その他}}
+
{{メイン|ブロック定義 (カテゴリ)}}
'''その他''' では、ユーザーが自分でカスタムブロックを定義して使うことができる。Scratch 2.0では、このためのブロックとして2種類が用意されている。
+
'''作った''' では、ユーザーが自分でカスタムブロックを定義して使うことができる。Scratch 3.0では、このためのブロックとして2種類が用意されている。
  
Scratch 2.0のその他ブロックでは、次のハットブロックを使用できる。
+
Scratch 3.0のブロック定義 (カテゴリ)では、次のハットブロックを使用できる。
 
*[[定義 () (ブロック)|定義 ()]] {{-}}このブロックを使って、カスタムブロックを 定義する。
 
*[[定義 () (ブロック)|定義 ()]] {{-}}このブロックを使って、カスタムブロックを 定義する。
  
Scratch 2.0のその他ブロックでは、次のスタックブロックを使用できる。
+
Scratch 3.0のブロック定義 (カテゴリ)では、次のスタックブロックを使用できる。
 
*[[() (カスタムブロック)|()]] {{-}} カスタムブロック(自分で定義したブロック)。
 
*[[() (カスタムブロック)|()]] {{-}} カスタムブロック(自分で定義したブロック)。
  
====PicoBoardブロック====
 
{{メイン|PicoBoardブロック}}
 
 
'''PicoBoardブロック''' は [[PicoBoard]]で調べた値を制御するために使用するブロック群である。. <!--  They are accessed via the Add an Extension button. -->
 
Scratch 2.0のPicoBoardブロックには、2つのハットブロックが存在する:
 
*[[() とき() (ブロック)|() とき()]]
 
*[[() とき() () () (ブロック)|() とき() () ()]]
 
 
Scratch 2.0のPicoBoardブロックには、2つの真偽ブロックが存在する:
 
*[[() ()? (ブロック)|() ()?]]
 
 
Scratch 2.0のPicoBoardブロックには、2つの値ブロックが存在する:
 
*[[() () センサーの値 (ブロック)|() () センサーの値]]
 
 
====LEGO WeDoブロック====
 
{{メイン|LEGO WeDoブロック}}
 
'''LEGO WeDoブロック'''は、[[LEGO WeDo]]を制御するためのブロック群である。これらのブロックを利用するには、「拡張機能を追加」ボタンを押して、拡張機能をインストールする必要がある。
 
 
Scratch 2.0の LEGO WeDoブロックには、5つのスタックブロックが存在する:
 
*[[モーターを () 秒オンにする (ブロック)|モーターを () 秒オンにする]]
 
*[[モーターをオンにする (ブロック)|モーターをオンにする]]
 
*[[モーターをオフにする (ブロック)|モーターをオフにする]]
 
*[[モーターのパワーを () にする() (ブロック)|モーターのパワーを () にする()]]
 
*[[モーターの回転方向を () にする (ブロック)|モーターの回転方向を () にする]]
 
 
Scratch 2.0のLEGO WeDoブロックには、2つのハットブロックが存在する:
 
*[[距離 < () のとき (ブロック)|距離 < () のとき]]
 
*[[傾き = () のとき (ブロック)|傾き = () のとき]]
 
 
Scratch 2.0のLEGO WeDoブロックには、2つの値ブロックが存在する:
 
*[[距離 (ブロック)|距離]]
 
*[[傾き (ブロック)|傾き]]
 
  
 
==Scratchブロックプラグイン==
 
==Scratchブロックプラグイン==
 
{{メイン|ブロックプラグイン}}
 
{{メイン|ブロックプラグイン}}
  
Scratchブロックプラグインを使用すると、[[Scratch ディスカッションフォーラム|Scratchフォーラム]]や[[Scratch Wiki]](その他のJavaScript製専用プラグインを組み込んだサイト)で、Scratchのブロックやスクリプトをそのまま表現することができる。
+
Scratchブロックプラグインを使用すると、[[ディスカッションフォーラム]]や[[Scratch Wiki]](その他のJavaScript製専用プラグインを組み込んだサイト)で、Scratchのブロックやスクリプトをそのまま表現することができる。
 
次に、このプラグインの使用例を示す:
 
次に、このプラグインの使用例を示す:
  
 
<scratchblocks>
 
<scratchblocks>
@ がクリックされたとき
+
@greenFlag が押されたとき::events hat
x座標を (0) 、y座標を (0) にする // 最初にスプライトを画面中央に移動
+
歩く
スタンプ
+
定義 歩く
 +
//定義も再現可能
 +
x座標を (0) 、y座標を (0) にする
 
ずっと
 
ずっと
x座標を ((-240) から (240) までの乱数)、y座標を (0) にする
+
((-10)から(10)までの乱数)歩動かす
 
スタンプ
 
スタンプ
(0.2) 秒待つ
+
(1) 秒待つ
[色 v] の効果を ((5) から (14) までの乱数) ずつ変える
+
 
 +
//コメント
 
</scratchblocks>
 
</scratchblocks>
 
このプラグインの現バージョンの作者はblob8108であり、現在、Scratch 2.0のすべてのブロックに対応している。
 
 
==ブロックの色を編集する==
 
[[File:Edit Block Colors.png|thumb|70px|ブロックの色を編集する]]
 
{{メイン|ブロックの色を編集する}}
 
オンライン版のScratch 2.0エディタでは、シフトキーを押しながら「編集」メニューをクリックすると「Edit block colors」という項目が現れるので、これを選択するとブロックの色の編集画面が表示される。ここにはカラースライダーが3つ含まれており、これを利用すると指定した[[ブロックの種類]]の色を変更できる。ここで色をカスタマイズした結果は使用中のコンピューターに保存できるが、現在、保存した設定を読み込もうとしたときは正しく動作しないようだ。
 
  
 
==その他のプログラミング言語におけるブロック==
 
==その他のプログラミング言語におけるブロック==
 +
{{外部リンク}}
 
ブロックを使用するプログラミング言語としては、Scratchは最初期に登場しており、ブロックを使うというアイディアはその他の多くの言語に影響を与えている。 [[Mod版Scratch]] には、Scratchの本家である[[MIT]]版では今のところ採用されていない、新しいブロックが多数含まれている(MITでは、[http://appinventor.mit.edu/explore/ MIT App Inventor]のような、ブロックを使うプログラミング言語を他にも作成している)。さらに現在では、[http://www.stencyl.com Stencyl] など、全面的にブロックを使用する言語でありながら、リアルタイムアプリケーションやオンラインゲームにも対応したプロ志向の言語も登場している。また、より幼い子供にも理解しやすい言語として開発された[[Scratch Jr]] もブロックを使ったプログラミング言語である。
 
ブロックを使用するプログラミング言語としては、Scratchは最初期に登場しており、ブロックを使うというアイディアはその他の多くの言語に影響を与えている。 [[Mod版Scratch]] には、Scratchの本家である[[MIT]]版では今のところ採用されていない、新しいブロックが多数含まれている(MITでは、[http://appinventor.mit.edu/explore/ MIT App Inventor]のような、ブロックを使うプログラミング言語を他にも作成している)。さらに現在では、[http://www.stencyl.com Stencyl] など、全面的にブロックを使用する言語でありながら、リアルタイムアプリケーションやオンラインゲームにも対応したプロ志向の言語も登場している。また、より幼い子供にも理解しやすい言語として開発された[[Scratch Jr]] もブロックを使ったプログラミング言語である。
  
380行目: 321行目:
 
*[[ブロックの色を編集する]]
 
*[[ブロックの色を編集する]]
  
{{Scratchブロック}}
+
{{ブロックの種類}}
 
{{ブロックの形状}}
 
{{ブロックの形状}}
 
[[カテゴリ:ブロック]]
 
[[カテゴリ:ブロック]]
[[カテゴリ:リスト]]
 
 
[[en:Blocks]]
 
[[en:Blocks]]
 
[[de:Alle_Blöcke_%3D_Übersichts-Liste]]
 
[[de:Alle_Blöcke_%3D_Übersichts-Liste]]

2019年1月29日 (火) 11: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 もブロックを使ったプログラミング言語である。

参照