こちらは、スクラッチの「x座標」ブロックの使い方を詳しく徹底解説しています!
「x座標」ブロック
「x座標」ブロックは、選択されているスプライトのx座標の値を返します。
値のブロック
スクラッチのブロックには、役割に応じたブロック形状の決まりがあります。
ブロックの形状については、「Scratchのブロックの種類と役割について」をご確認ください。
「x座標」ブロックは、値ブロック(Reporter Block)に該当し、楕円形の形状をしています。
こちらには、数値や文字列といった、何らかの値を維持するブロックで、プログラミングの世界では「変数」と呼ばれるものです。
「x座標」ブロックの中の値を確認したい場合は、「x座標」ブロックの左側にあるチェックボックスにチェックを付けましょう。
チェックを付けると、ステージ左上に、現在のx座標がステージモニターとして、表示されます。
また、「x座標」ブロックをクリックしても確認できます。
ステージモニターの上で右クリックするとメニューが表示されます。
「x座標」ブロックのステージモニターには、2つのタイプがあります。
- 普通の表示
- 大きな表示
「普通の表示」は、デフォルトの表示モードで、ブロック名と値が表示されます。
「大きな表示」は、普通の表示より少し文字サイズが大きくなり、値だけが表示されます。
「隠す」をクリックすると、ステージモニターが消え、「x座標」ブロックの左側にあるチェックボックスのチェックも外れます。
x座標の範囲
x座標の範囲の前に、ステージの画面サイズについて、お話しします。
中心の座標が「x座標:0、y座標:0」なので、左右の幅は、x座標が「-240から240まで」となります。(中心から左側が負の値、右側が正の値)
しかし、実際にスプライを動かしてみると、この範囲を超えることがあります。
これは、スプライトが画面サイズより外側にも移動できるからです。
どこまでいけるかというと、スプライトがギリギリ触れるまで。
例えば、スプライトを大きくすると、画面右端のx座標「-240」を優に超えます。
スプライトを画面の外にだすようなプログラミングをする際は、スプライトの大きさに注意しましょう。
スプライトの座標の基準は?
「x座標」ブロックは、選択されているスプライトのx座標の値を返しますが、スプライトの座標の基準はどこでしょうか?
スプライトの座標の基準は、コスチュームの中心です。
「スプライトリスト」の「描く」からスプライトを追加します。
すると、まっさらなスプライトが追加され、右側の「ペイントエディター」の中心にマークがついています。
このマークが、「座標の基準」です。
例えば、スクラッチキャットのイラストを、座標の基準からずらして描いた場合、ステージではx座標が「0」となっていますが、スクラッチキャットは、中心よりも右側にいます。
これは、あくまで座標の基準が「ペイントエディター」の中心だからです。
例えば、こちらは左右矢印キーでタイヤが回りながら車を動かすプログラムで、スプライトは、以下の3つです。
- 車体
- 後輪
- 前輪
こちらは、後輪スプライトのスクリプトの内容で、「右に〇度回す」「左に〇度回す」ブロックを使って、タイヤを回しています。
このタイヤは、「ペイントエディター」の中心に配置しています。
もしも、中心よりずれてタイヤを配置してしまうと、タイヤがおかしな方向へと回ってしまいます。
このように、シビアに位置が求められる場合は、座標の基準がどこなのかをしっかり理解しましょう。
動きブロック一覧
「動き」ブロックには、以下の18個のブロックが用意されています。
- スタックブロック・・・15つ
- 値ブロック・・・3つ
ブロックの色は、青色で統一されています。
尚、背景に対しての「動き」ブロックはありません。
背景に動きをつけたい場合は、「背景をスプライトにする方法」があります。
動きブロック | 動作 |
---|---|
〇歩動かす スプライトが現在向いている向きに、指定した歩数だけ動かす |
|
右に〇度回す 指定した数値だけ右回り(時計回り)にスプライトを回す |
|
左に〇度回す 指定した数値だけ左回り(反時計回り)にスプライトを回す |
|
〇へ行く 指定したマウスポインターや他のスプライトの位置に移動する |
|
x座標を〇、y座標を〇にする ステージ上の指定したx座標、y座標にスプライトを移動する |
|
〇秒で〇へ行く 指定した時間をかけて、マウスポインターや他のスプライトの位置に移動する |
|
〇秒でx座標を〇に、y座標を〇に変える 指定した時間をかけて、指定したx座標、y座標にスプライトを移動する |
|
〇度に向ける スプライトを指定角度の方向に向ける |
|
〇へ向ける スプライトを指定したマウスポインターや他のスプライトの方向に向ける |
|
x座標を〇ずつ変える 現在のスプライトのx座標から指定された数値ずつ移動する |
|
x座標を〇にする ステージ上の指定したx座標にスプライトを移動する |
|
y座標を〇ずつ変える 現在のスプライトのy座標から指定された数値ずつ移動する |
|
y座標を〇にする ステージ上の指定したy座標にスプライトを移動する |
|
もし端に着いたら、跳ね返る スプライトがステージの端に触れたとき、スプライトがやって来た方向と逆の方向を向く |
|
回転方法を▢にする スプライトの見た目の回転方法を設定する |
|
x座標 スプライトのx座標を返す |
|
y座標 スプライトのx座標を返す |
|
向き スプライトの向いている角度を返す |