更新日:、 作成日:

スクラッチ 動きブロックの使い方

はじめに

Scratch (スクラッチ) 3 の動きブロックの使い方を紹介します。

スプライトを移動したり、回転できます。スプライトを動かしたいときに使います。

位置を示す座標についても詳しく解説しています。

動きブロックとは

motion

動きブロックでは、スプライトを移動したり回転できます。

移動

スプライトを移動するには座標を使います。x座標 と y座標 の 2 つで位置を表します。

1

x座標は横方向の位置です。

  • 真ん中が 0 です。
  • 右に行くほど数値が大きくなり、最大は 240 です。
  • 左に行くほど数値が小さくなりマイナスになります。最小は -240 です。

y座標は縦方向の位置です。

  • 真ん中が 0 です。
  • 上に行くほど数値が大きくなり、最大は 180 です。
  • 下に行くほど数値が小さくなりマイナスになります。最小は -180 です。
座標の最大値と最小値はスプライトの大きさによって変わります。

スプライトの座標は画面に表示されています。スプライトをマウスでドラッグすれば、その位置の座標をイメージできると思います。

29

回転

スプライトを回転するには向きを使います。スプライトをまっすぐ動かすときは、向いている方向に移動します。

2

右を向いている最初の状態が 90 です。

  • 0 ~ 180 までが、上から右回りに下までを向きます。
  • -179 ~ 0 までが、下から右回りに上までを向きます。
  • 180 の次の値が -179 になります。

スプライトの向きは画面に表示されています。[向き] をクリックすると表示される [矢印] をマウスで回転すれば、その向きが何度なのかをイメージできると思います。

30 31

移動する

move

指定した 歩数 だけ向いている方向へ移動します。

10 を指定したとき、向きが 90 (→) なら x座標が 10 増えます。向きが 0 (↑) なら y座標が 10 増えます。マイナスの値を指定すると逆方向へ移動します。

右へ移動します。

37

goto-xy

指定した 座標 へワープします。

初期値などを設定するのに使います。

プログラムを実行したときに、必ず真ん中の位置に移動します。

32

glide-xy

指定した 秒数 をかけて、指定した 座標 へ移動します。

アニメーションのように移動させたいときに使います。向きに関係なく移動できます。

goto-position

次の 場所 へワープします。

  • どこかの場所:ランダムな位置へワープします。
  • マウスのポインター:マウスの位置へワープします。
  • スプライト:指定したスプライトの位置へワープします。

クリックした位置にワープします。

38

glide-position

指定した 秒数 をかけて、次の 場所 へ移動します。

  • どこかの場所:ランダムな位置へ移動します。
  • マウスのポインター:マウスの位置へ移動します。
  • スプライト:指定したスプライトの位置へ移動します。

アニメーションのように移動させたいときに使います。向きに関係なく移動できます。

change-x

指定した 歩数 だけ右へ移動します。

マイナスの値を指定すると左へ移動します。向きに関係なく移動できます。

A キーで左に、D キーで右に移動します。

39

set-x

指定した x座標 へワープします。

y座標を変更したくないときに使います。

change-y

指定した 歩数 だけ上へ移動します。

マイナスの値を指定すると下へ移動します。向きに関係なく移動できます。

W キーで上に、S キーで下に移動します。

40

set-y

指定した y座標 へワープします。

x座標を変更したくないときに使います。

x-position

スプライトの x座標 を取得して、それをブロックの値に指定できます。

スプライトが右端にいるときに「ゴール」と言います。

36

y-position

スプライトの y座標 を取得して、それをブロックの値に指定できます。

回転する

turn-right

指定した だけ右回りに向きが回転します。

90 度ずつ回転させると、上右下左のように回転できます。合計で 360 度回転させると一回転します。

グルっと 1 周します。

41

turn-left

指定した だけ左回りに向きが回転します。

90 度ずつ回転させると、上左下右のように回転できます。合計で 360 度回転させると一回転します。

point-direction

指定した 向き を向きます。

この向きに向かって 歩動かす ブロックなどは前に進みます。

右へ移動します。

37

point-position

次の 場所 を向きます。

  • マウスのポインター:マウスの方向を向きます。
  • スプライト:指定したスプライトの方向を向きます。

マウスを追いかけます。

33

rotation-style

スプライトを表示する 向き を次のようにします。

  • 左右のみ:向きがプラスなら右 (90) の方向を向きます。マイナスなら反転して左 (-90) の方向を向きます。
  • 回転しない:常に右 (90) の方向を向きます。
  • 自由に回転:好きな方向を向きます。最初はこの状態です。

これは表示上の向きです。[回転しない] にしても、歩動かす ブロックで移動する方向は、設定されている「向き」の方向です。

[左右のみ] にすると、スプライトが左右に反転します。

34

if-edge

ステージの端まで移動すると自動で 向き を変えます。

ボールが壁にぶつかるような動きにしたいときに使います。

跳ね返るようにずっと移動します。

35

direction

スプライトの 向き を取得して、それをブロックの値に指定できます。

スプライトが向いている方向を言います。

42