こちらは、スクラッチの「左に〇度回す」ブロックの使い方を詳しく徹底解説しています!
「右に〇度回す」ブロック
「左に〇度回す」ブロックは、指定した数値だけ左回りにスプライトを回転させます。
動きブロックに属するブロックで、主にスプライトに対して動きを与えます。
スプライトの角度
「左に〇度回す」ブロックに指定する角度は、円の1周を360度とする、一般的な「角度」です。
鉛直上向きが「0度」の状態で、時計回りに1周して360度。
こうイメージした方も多いと思いますが、スクラッチの場合は、少しややこしく、向いている角度は、通常の0~360度ではなく、-180~180度で表示されています。
実際に図にするとこのような形です。
例えば、スプライトが0度を向いていた状態で、「左に30度回す」を実行すると、向いている角度は「-30度」となります。
また、スプライトが0度を向いていた状態で、「左に270度回す」を実行すると、向いている角度は「90度」となります。
右に回すときはイメージが付きやすいですが、左に回すときは、向いている角度が混乱することがあります。
分からなくなったときは、こちらの図を思い出しましょう。
小数点は入力できる?
「左に〇度回す」ブロックの数値には、小数点も入力できます。
確認できたところでは、「0.0000001」と小数点第7位でも動いていました。
通常の処理では、一向に進まないので、確認したい方は「ターボモード」で動かしてみましょう。
マイナスは右回り!?
「左に〇度回す」ブロックの数値には、マイナスの数値も入力できます。
マイナスの数値を設定した場合は、右回り(時計回り)に回ります。
「左に〇度回す」ブロックとは逆の、「右に〇度回す」ブロックがありますが、「左に-15度回す」「右に15度回す」は同じ意味です。
「左に〇度回す」「〇度に向ける」ブロックの違い
角度の指定でいえば、似たようなブロックで、「〇度に向ける」ブロックがあります。
「〇度に向ける」ブロックは、角度を指定して、指定した角度(向き)にスプライトの方向を変えます。
この2つのブロックの違いは、回転角度が「絶対値」か「相対値」かの違いです。
「左に〇度回す」ブロックは、現在スプライトが向いている回転角度に対して、追加で〇度回転させます。
つまり、「10度」と設定しても、スプライトが向いている角度によって、向きが異なるということです。(相対的な角度)
逆に、「〇度に向ける」ブロックは、指定した角度に向きを変えるので、スプライトがどの角度を向いているか関係ありません。
スプライトがどんな角度を向いていようと、指定された角度に向きます。(絶対的な角度)
「左に〇度回す」ブロックの使用例
こちらでは、「左に〇度回す」ブロックの使用例を紹介します。
タイヤが回りながら車を動かす
こちらは左右矢印キーでタイヤが回りながら車を動かすプログラムです。
スプライトは、以下の3つです。
- 車体
- 後輪
- 前輪
後輪スプライトのスクリプトの内容は、この通り。
まず、緑旗が押されると初期の位置に移動します。
そして、右向き矢印キーを押すと、x座標を10ずつ変えながら、後輪を右に15度回しています。
左向き矢印キーを押すと、x座標を-10ずつ変えながら、後輪を右に-15度回しています。
つまり、左向き矢印キーは後退させているということです。
これで、車を動かすプログラムができました。
ただし、こちらはずっと右矢印キーや右矢印キーを押すと、タイヤがおかしなことになります。
タイヤがおかしくならないようにするには、どうしたらいいでしょうか?
考えてみましょう。
動きブロック一覧
「動き」ブロックには、以下の18個のブロックが用意されています。
- スタックブロック・・・15つ
- 値ブロック・・・3つ
ブロックの色は、青色で統一されています。
尚、背景に対しての「動き」ブロックはありません。
背景に動きをつけたい場合は、「背景をスプライトにする方法」があります。
動きブロック | 動作 |
---|---|
〇歩動かす スプライトが現在向いている向きに、指定した歩数だけ動かす |
|
右に〇度回す 指定した数値だけ右回り(時計回り)にスプライトを回す |
|
左に〇度回す 指定した数値だけ左回り(反時計回り)にスプライトを回す |
|
〇へ行く 指定したマウスポインターや他のスプライトの位置に移動する |
|
x座標を〇、y座標を〇にする ステージ上の指定したx座標、y座標にスプライトを移動する |
|
〇秒で〇へ行く 指定した時間をかけて、マウスポインターや他のスプライトの位置に移動する |
|
〇秒でx座標を〇に、y座標を〇に変える 指定した時間をかけて、指定したx座標、y座標にスプライトを移動する |
|
〇度に向ける スプライトを指定角度の方向に向ける |
|
〇へ向ける スプライトを指定したマウスポインターや他のスプライトの方向に向ける |
|
x座標を〇ずつ変える 現在のスプライトのx座標から指定された数値ずつ移動する |
|
x座標を〇にする ステージ上の指定したx座標にスプライトを移動する |
|
y座標を〇ずつ変える 現在のスプライトのy座標から指定された数値ずつ移動する |
|
y座標を〇にする ステージ上の指定したy座標にスプライトを移動する |
|
もし端に着いたら、跳ね返る スプライトがステージの端に触れたとき、スプライトがやって来た方向と逆の方向を向く |
|
回転方法を▢にする スプライトの見た目の回転方法を設定する |
|
x座標 スプライトのx座標を返す |
|
y座標 スプライトのx座標を返す |
|
向き スプライトの向いている角度を返す |