スクラッチの「10歩動かす」ブロック

10歩動かすブロックは、スプライトが現在向いている向きに指定した数値だけ動かすブロックです。

1歩はスプライトの大きさにかかわらず「1歩=1ピクセル」で動きます。

目次

1. 正の整数を設定して動かす

正の整数を設定して動かす

まずは、10歩動かすブロックスクリプトエリアへ置きます。

スプライトリストにあるスクラッチキャットのiマークをクリックして向きを確認すると「90」度で右向きになっているのが確認できます。

先ほど置いたブロックをクリックすると右方向へ10歩進みます。

次は、設定値を「10」から「50」に変更してクリックすると右方向へ大きく進みました。この進んだ歩幅が50歩になります。

続いて「回転の種類」の回転種類:左右のみをクリックして、向きをマウスカーソルで「-90」度へ変更します。

この状態でブロックをクリックすると、先ほどとは逆で左方向へ50歩進みました

このように10歩動かすブロックは、「10」や「50」といった正の整数を設定した場合スプライトの向きと同じ方向へ動きます。

尚、設定値は全角数字は入力することができませんので、必ず半角モードで入力するようにしましょう。

2. 負の整数を設定して動かす

負の整数を設定して動かす

続いて、「-10」や「-50」といった負の整数を設定した場合にどのように動くか確認してみましょう。

10歩動かすブロックをスクリプトエリアへ置きます。

スクラッチキャットの向きが「90」度で右向きになっているのを確認します。

そして、設定値を「10」から「-10」に変更してクリックしてどのように進むか確認しましょう。

「-10」の負の整数を設定してクリックするとスクラッチキャットの向きと逆方向へ10歩進みました。(後ろへ10歩後退)

「-50」に変更してクリックしてみても同じように逆方向へ50歩進みます。

このように10歩動かすブロックは、「-10」や「-50」といった負の整数を設定した場合スプライトの向きと逆方向へ動きます。

3. 少数を設定して動かす

少数を設定して動かす

ここまで整数を設定してどのように動くか確認してきましたが、次は「0.1」や「-0.3」といった少数を設定したらどのように動くのかをチェックしていきます。

これまでと同じように10歩動かすブロックをスクリプトエリアへ置き、「0.1」を設定してクリックしてみましょう。

するとスプライト情報のx座標が「0」のままになっています。一見動いていないように見えますが、何度かブロックをクリックするとx座標が「1」になりスクラッチキャットが動くのが確認できます。

「0.5」を設定すると2回クリックで1歩進むのがわかります。これは0.5歩の2回分なのでちょうど1歩分進んだことになります。

他にも10回繰り返すの中に10歩動かすブロックを入れて0.01歩を100回繰り返すと0.01歩×100回で1歩動きます。

また、「-0.1」や「-0.5」といった負の少数でもスクラッチキャットの向きの逆方向へクリックすると進みますので、少数でも設定可能であることが分かります。

4. 向きを色々な角度に変えて動かす

ここまでは、スクラッチキャットの向きを「90」度、「-90」度でどのように動くか確認してきましたが、次は色々な角度でどのように動くのかをチェックしていきます。

30pxグリッド線

今回確認するステージには、上記のようにグリッド線が描かれています。こちらは縦横30pxのグリッド線です。そして中央に円が3つありますが、こちらは半径「30px」「60px」「90px」の円になります。

次に色々な角度で動いたときチェックの方法ですが、歩いた歩数を確認できるようにペンの中にあるペンを下ろすを使ってどのぐらい動いたのかペンの跡を追って視覚的に確認していきます。

今回は、確認用として以下のようにスクラッチでプログラミングしています。

ペンの跡で歩数をチェックするプログラム

こちらのプログラムを説明すると消すペンの太さを1にするペンの色を■にするで最初にペンで描いたものを消して、ペンの太さと色を設定しています。


次にx座標を0、y座標を0にする90度に向ける1秒待つでスクラッチキャットを中央に移動させ、「45」度の方向へ向けます。


そして、ペンを下ろす10歩動かすブロックペンを上げる1秒待つでペンを下ろしながら歩かせて歩いた跡をペンで残します。


最後にペンの跡を確認するために右に15度回すブロックx座標を0、y座標を0にするで、左下にスクラッチキャットを「90」度の向きに移動させます。


向きを色々な角度に変えて動かす

こちらのプログラミングをクリックして実行してみるとちょうど半径30pxの円までペンで描かれているのが分かります。このことから45度の向きへ30歩動いたことが分かります。

他にも30歩・60歩・90歩で色々な角度でプログラミングを実行しても、どの角度であってもそれぞれ円上までペンの跡が残ります。

このようにどの角度であっても「1歩=1ピクセル」で動くことが分かります。

5. 「動き」スクリプト:「10歩動かす」ブロックの解説

ここまで説明した内容をスクラッチのプロジェクトで公開しています。どのように動くのか実際に確認してみましょう。

「動き」スクリプト:「10歩動かす」ブロックの解説

6. よく利用されるプログラミング事例

こちらでは10歩動かすブロックを使った、プログラミングの事例を紹介します。

6-1. キャラクターをアニメーションで歩かせる

キャラクターをアニメーションで歩かせる

キャラクターをアニメーションのように歩かせるには、スプライトを歩かせながらコスチュームを切り替えます。

キャラクターをアニメーションで歩かせるプログラミング

プログラミングの内容は、まず10歩動かすブロック次のコスチュームにする1秒待つで10歩あるいたら、次のコスチュームに切り替えて0.2秒待ちます。

これを繰り返すことでコスチュームが歩くごとに切り替わっていきます。

そして、10回繰り返すで先ほどのスクリプトを囲んで繰り返し処理をさせれば、アニメーションのように歩かせることができます。

こちらは、スーパーマリオブラザーズといったアクションゲームで利用される手法の1つです。

6-2. ボールを跳ね返しながら動かせる

ボールを跳ね返しながら動かせる

ボールを跳ね返しながら動かせるには、ステージの端に着いたときに跳ね返すブロックを使います。

ボールを跳ね返しながら動かせるプログラミング

プログラミングの内容は、まず90度に向けるで「45」度を設定します。ボールに角度をつけることで色々な軌道で移動します。

次にずっとの中に10歩動かすブロックもし端に着いたら、跳ね返るを入れます。

これでずっと10歩動かしながら、もしボールがステージの端に着いた時はスプライトが向いている方向の角度を変えて跳ね返します。

ボールを打ち合うゲームをポンゲームと言いますが、スクラッチ入門サイトでもポンゲームのプログラミングで解説していますので、併せて確認しましょう。

6. 動きブロック一覧

こちらは動きブロックの一覧に14個のスタックブロック3個の値ブロックの計17個のブロックが用意されています。ブロックの色は青色で統一されています。

動きブロック名動作
10歩動かすブロックスプライトを現在の向きに動かす
右に15度回すブロックスプライトを時計回り(右回り)に回す
左に15度回すブロックスプライトを反時計回り(左回り)に回す
90度に向けるスプライトを指定角度の方向に向ける
規定値:「(90)右」「(-90)左」「(0)上」「(180)下」
マウスのポインターへ向けるスプライトをマウスポインターや他のスプライトの方向に向ける
規定値:「マウスのポインター」
x座標を0、y座標を0にするステージ上の指定したx座標、y座標にスプライトを移動する
マウスのポインターへ行くスプライトをマウスポインターや他のスプライトの場所に移動する
規定値:「マウスのポインター」「ランダムな場所」
1秒でx座標を0に、y座標を0に変えるステージ上の指定したx座標、y座標にスプライトを指定した秒数かけてなめらかに移動する
x座標を10ずつ変える現在のスプライトのx座標から指定された数値ずつ移動する
x座標を0にするスプライトのx座標を指定した数値に移動する
y座標を10ずつ変える現在のスプライトのy座標から指定された数値ずつ移動する
y座標を0にするスプライトのy座標を指定した数値に移動する
もし端に着いたら、跳ね返るスプライトがステージの端についたとき、スプライトの向きを反転させる
回転方法を左右のみにするスプライトの回転方法を設定する
規定値:「左右のみ」「回転しない」「自由に回転」
x座標スプライトのx座標を示す(x座標の範囲は-240から240まで)
y座標スプライトのx座標を示す(x座標の範囲は-180から180まで)
向きスプライトの向きを示す(0は上、90は右、180は下、-90は左)
スクラッチプログラミング入門

スクラッチプログラミング入門

Scratchは、MITメディアラボが開発した子ども向けビジュアルプログラミング言語です。
スクラッチプログラミング入門では、スクラッチの基本的な使い方から複雑なプログラムの作り方まで子供たちが楽しく学ぶための教育サイトです。

TOP