ブロックの使い方動き

スクラッチの「〇秒でx座標を〇に、y座標を〇に変える」ブロックの使い方を徹底解説!

こちらは、スクラッチの「〇秒でx座標を〇に、y座標を〇に変える」ブロックの使い方を、詳しく徹底解説しています!

スポンサーリンク

「〇秒でx座標を〇に、y座標を〇に変える」ブロック

「〇秒でx座標を〇に、y座標を〇に変える」ブロックは、指定した時間をかけて、指定したx座標とy座標の位置へスプライトを移動させます。

動きブロックに属するブロックで、主にスプライトに対して動きを与えます。

秒数

指定した「秒数」で指定された場所へ移動するため、時間が短ければ早く、時間が長ければゆっくり移動します。

x座標とy座標の範囲

x座標とy座標の範囲の前に、ステージの画面サイズについて、お話しします。

ステージ画面サイズは、横480×縦360ピクセルです。

中心の座標が「x座標:0、y座標:0」なので、上下左右の幅は、x座標が「-240から240まで」、y座標が「-180から180まで」というわけです。(中心から左側・下側が負の値、右側・上側が正の値)

「〇秒でx座標を〇に、y座標を〇に変える」ブロックの座標は、画面サイズと中心座標を基準に指定しましょう。

時間と位置の関係

「〇秒でx座標を〇に、y座標を〇に変える」ブロックは、時間と位置を設定するブロックです。

以下のような関係にあることを理解しておくと、何かと便利です。

  • 短い時間+遠い場所=一番早く移動する
  • 短い時間+近い場所=意外とゆっくり移動する
  • 長い時間+遠い場所=そこそこ早く移動する
  • 長い時間+近い場所=気の遠くなるような時間を移動する

こちらのように2つのスクリプトをそれぞれ使ってみて、クリックしてみましょう。

x座標とy座標の指定には、「〇から〇までの乱数」ブロックを使って、ランダムに座標しています。

こちらで、時間と位置の関係を体験できます。

「〇秒でx座標を〇に、y座標を〇に変える」ブロックのデメリット

「〇秒でx座標を〇に、y座標を〇に変える」ブロックは、指定した時間をかけて、指定したx座標とy座標の位置へスプライトを移動させますが、その間、スクリプトの実行がそこで停止しています。

つまり、〇秒かけて移動している間は、そのスプライトは何もできないというわけです。

「〇秒でx座標を〇に、y座標を〇に変える」ブロックの使用例

こちらでは、「〇秒でx座標を〇に、y座標を〇に変える」ブロックの使用例を紹介します。

ランダムに泳ぐ魚

スクラッチプロジェクトの中を見る

こちらは海の中で魚がランダムに動くプログラムです。

スクリプトの内容は、この通り。

まず、x座標とy座標は、乱数を使って変数に格納しています。

そして、条件分岐で、もしも変数xが0よりも大きい場合は、右向きに、それ以外なら左向きに向きを変えます。

これで、魚が右を向いたり、左を向いたりします。

そして、「〇秒でx座標を〇に、y座標を〇に変える」ブロックを使って、魚をランダムに移動させています。

移動時間については、「1~3」の乱数を設定していて、座標は変数xと変数yを入れています。

これで、海の中で魚が泳いでいるプログラムが完成しました。

ただし、魚の動きを見ると、ちょっとおかしな時がありますよね?

それは、「x座標:0」を基準に、魚の向きを決めているためです。

自然な動きをするには、もう少し手を加える必要があります。

どうやればうまくいくか、考えてみましょう。

動きブロック一覧

「動き」ブロックには、以下の18個のブロックが用意されています。

  • スタックブロック・・・15つ
  • 値ブロック・・・3つ

ブロックの色は、青色で統一されています。

尚、背景に対しての「動き」ブロックはありません。

背景に動きをつけたい場合は、「背景をスプライトにする方法」があります。

動きブロック 動作
〇歩動かす
スプライトが現在向いている向きに、指定した歩数だけ動かす
右に〇度回す
指定した数値だけ右回り(時計回り)にスプライトを回す
左に〇度回す
指定した数値だけ左回り(反時計回り)にスプライトを回す
〇へ行く
指定したマウスポインターや他のスプライトの位置に移動する
x座標を〇、y座標を〇にする
ステージ上の指定したx座標、y座標にスプライトを移動する
〇秒で〇へ行く
指定した時間をかけて、マウスポインターや他のスプライトの位置に移動する
〇秒でx座標を〇に、y座標を〇に変える
指定した時間をかけて、指定したx座標、y座標にスプライトを移動する
〇度に向ける
スプライトを指定角度の方向に向ける
〇へ向ける
スプライトを指定したマウスポインターや他のスプライトの方向に向ける
x座標を〇ずつ変える
現在のスプライトのx座標から指定された数値ずつ移動する
x座標を〇にする
ステージ上の指定したx座標にスプライトを移動する
y座標を〇ずつ変える
現在のスプライトのy座標から指定された数値ずつ移動する
y座標を〇にする
ステージ上の指定したy座標にスプライトを移動する
もし端に着いたら、跳ね返る
スプライトがステージの端に触れたとき、スプライトがやって来た方向と逆の方向を向く
回転方法を▢にする
スプライトの見た目の回転方法を設定する
x座標
スプライトのx座標を返す
y座標
スプライトのx座標を返す
向き
スプライトの向いている角度を返す