スクラッチの「マウスのポインターへ向ける」ブロック

スプライトのマウスのポインターへ向けるは、指定したオブジェクト(マウスのポインターやスプライトなど)の方向に向きを変えます。規定値としては「マウスのポインター」が設定されています。

目次

1. マウスポインターへ向ける

マウスポインターへ向ける

まずは、マウスのポインターへ向けるスクリプトエリアへ置きます。

このスクリプトに設定した方向へスクラッチキャットのスプライトが向きます

ブロックの▼が「マウスのポインター」になっていることを確認し、ブロックをクリックしてみてください。

するとクリックしたブロックの方向にスクラッチキャットのスプライト向いたと思います。これはマウスのポインター位置の方向を向いています。

ただ、クリック処理した部分に方向を向けても何の楽しみもないので、ゲームを作る際には、工夫して利用しましょう。

2. 「制御」スクリプトを利用

「ずっと」ブロックに「マウスのポインターへ向ける」を挟んで実行

今度は、ずっとを利用します。

ずっとをスクリプトエリアに移動し、その中に マウスのポインターへ向けるをはめ込み実行してみてください。

すると、ずっとマウスのポインターへ向けるが実行された状態ですので、マウスの向きへスクラッチキャットのスプライトが常に向いている状態になります。

3. 指定したスプライトへ向ける

りんごのスプライトを追加し、りんごを対象に向きを設定

マウスのポインターへ向けるは初期値として「マウスのポインター」しかありませんが、スプライトも設定することができます。

まずは、スプライトリストにあるメニューの中から「スプライトをライブラリーから選択」をクリックし、Apple(りんご)をダブルクリックします。

Apple(りんご)のスプライトが追加されたら、スクラッチキャットのスプライトをクリックし、マウスのポインターへ向けるの選択項目を確認すると「Apple」が追加されていますので、「Apple」を選択して実行してみます。するとりんごの方向へスクラッチキャットが向きます。

りんごをドラッグした状態で移動させると同時にスクラッチキャットも移動してきます。りんごをドロップしてマウスを離すとマウスには向きを移動させずに常にりんごの方向を向いています。

このように自由にスプライトを設定することが可能です。

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

こちらではマウスのポインターへ向けるを使った、プログラミングの事例を紹介します。

4-1. マウスポインターをスプライトが追いかける

マウスポインターをスプライトが追いかける1

マウスポインターをスプライトが追いかけるには、スプライトをマウスポインターへ向けながら歩かせる必要があります。

マウスポインターをスプライトが追いかける1

プログラミングの内容は、まずマウスのポインターへ向けるでスプライトをマウスポインターへ向け、10歩動かすブロックでスプライトを向いている方向に3歩ずつ進ませます。

そして制御の中のずっとを使うことでプログラムが開始されると、ずっとスプライトがマウスポインターを追いかけるように歩きます。

しかし、このプログラムだとスプライトとマウスポインターが重なると、スプライトが震えてしまいます。

マウスポインターをスプライトが追いかける2

そこで 制御の中の もし◆なら演算の中の 不等号(小なり)調べるの中の マウスのポインターまでの距離 を使い、スプライトがマウスカーソルに近づくと止まるようにプログラミングしましょう。

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

まず先ほどのプログラムの中の10歩動かすブロックもし◆ならで囲みます。

そしてもし◆ならに条件を加えます。

今回は「マウスポインターに近いとき」という条件を加えます。

不等号(小なり)もし◆ならの「もし」と「なら」の間に入れます。

これは左の数字が右の数字より小さい場合という条件です。

ですので、右側にマウスのポインターまでの距離を入れます。

左側にはマウスポインターにどこまで近づいたら動きを止めるのかを入力します。 今回は「10」と入力します。

これでプログラムを実行してると、マウスポインターと重なるとスプライトが止まります。

5. 動きブロック一覧

こちらは動きブロックの一覧に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