プログラミング言語Scratch
前回はScratchのプログラミング画面でプログラミングの仕方を解説しました。

プログラミングの仕方が分かったところで、どんなブロックがあるのか見ていきましょう。
ただブロックは結構いっぱいあるので、何回かに分けて解説をしていきたいと思います。
今回は「動き」のカテゴリにあるブロックです。

「動き」にあるブロックではキャラクターの動きを制御するブロックになります。
このブロックは青色に統一されているようです。
それでは一つ一つ見ていきましょう。
X歩動かす
まずはキャラクターを歩かせるブロック「X歩動かす」です。
ブロックとしてはこれ。

このブロックではキャラクターを前に歩かせることができます。

前に解説した通り、数字を変えると歩く距離が変わります。
右回りにX度回す、左回りにX度回す
次はキャラクターを回転させるブロックです。

上が右回りにX度回すブロック、下が左回りにX度回すブロックです。

Xへ行く:Y秒でXへ行く
次はキャrカウターをある場所へ動かすブロックです。

「どこかの場所へ行く」の場合はランダムな場所にキャラクターが瞬時に移動します。
「1秒でどこかの場所へ行く」の場合は1秒かけてランダムな場所へキャラクターが移動します。

「1秒」の数字を変えることができるのはもちろんですが、もう一つ変えることができる場所があります。
それは「どこかの場所へ」というところです。
クリックしてみると「マウスのポインター」と出てきます。

この「マウスのポインター」へ移動する動きを見やすくするため、ちょっと細工をしていきましょう。
「イベント」の「スペースキーが押された時」を先ほどのブロックに組み合わせます。
そして「スペース」のところをクリックし、「マウスのポインターへ行く」の方は「上向矢印」に、「1秒でマウスのポインターへ行く」の方は「下向き矢印」にします。

では試してみましょう。

x座標をX、y座標をYにする:A秒でx座標をX、y座標をYに変える
次は場所を細かく指定してキャラクターを動かすブロックです。

上のブロックのx座標を100、y座標を100、下のブロックのx座標を-100、y座標を-100として試してみましょう。

X度に向ける:Xへ向ける
次はキャラクターの方向を変えるブロックです。

こちらも分かりやすく試すために、先ほどと同じ細工をしてみましょう。

これで試してみるとこんな感じです。

x座標をXずつ変える:x座標をXにする、y座標をYずつ変える:y座標をYにする
次は一気に2種類のブロックを解説します。

左側の二つのブロックが、ある数値ずつ位置を変えるブロックです。
上がx座標方向に、下がy座標方向に変えます。
右の二つのブロックはx座標(上)、もしくはy座標をある座標に変えるというブロックです。
試してみるとこんな感じです。

もし端に着いたら、跳ね返る
次のブロックは「もし端に着いたら、跳ね返る」というブロックです。

このブロックは、これ一つだけでは機能しません。
「もし端に着いたら」と書かれているので端につくよう、「X歩動かす」のブロックを繋げて、数値を「100」にして試してみましょう。
ということでこんなブロックになります。

これで試してみるとこんな感じになります。

端に行ったときに止まらずに、逆向きになって戻ってを繰り返すようになりました。
回転方向をXにする
次のブロックはキャラクターの回転方向を制限する「回転方向をXにする」というブロックです。

方向には「左右のみ」、「回転しない」、「自由に回転」の3種類があります。
「右回転に45度回す」ボタンと一緒に使って試してみましょう。

試してみるとこんな感じです。

「自由に回転」にしてブロックをクリックしてから、回転のブロックをクリックするとキャラクターが自由に回ります。
「左右のみ」にしてブロックをクリックすると、そのあとはキャラクターは左右を向くだけになります。
その際、角度情報は別に記憶されていて、ある一定値を超えると右、左に向くようになっています。
「回転しない」にしてブロックをクリックすると、そのあとはキャラクターは回らなくなります。
ちょっとこれまでのブロックと感覚が違うので、最初は迷うかもしれませんが、ここは慣れていただくということで。
x座標、y座標、向き
次のブロックは「x座標」、「y座標」、「向き」というブロックです。

ここには他のブロックと違い、チェックボックスがあります。
チェックボックスにチェックを入れてみましょう。

するとキャラクターがいるウインドウに、x座標、y座標、向きの値が表示されました。

ちなみにプログラミングウインドウで「x座標」ブロックをクリックしてみると数字が出ました。

この数字が今のキャラクターのx座標です。
そしてこのブロックは他のブロックと違う特徴的な使い方ができます。
それがこれ。

他のブロックの数値のところに入れこめてしまうのです。
この「x座標」、「y座標」、「向き」のブロックはキャラクターの位置や向きから数値を取得し、数字として機能するブロックというわけです。
プログラミング的には「変数」といったところでしょうか。
これで「動き」カテゴリのブロックは全て紹介しました。
まだまだ一つ一つのブロックで紹介していることから、あんまりプログラムな感じがしないのは私だけでしょうか?
ということで次回は「見た目」「音」のカテゴリよりも先に「イベント」カテゴリのブロックを紹介することにしましょう。

ではでは今回はこんな感じで。
コメント