
Scratch 座標と向きの説明


Scratchでスプライトを画面の右上に移動させたいけど、どうすればいいの?



スプライトが思った方向に動かないけど、どうすればいいの?
こういった疑問にお答えします。
こんにちはサポーターのもつさんです。
Scratchの基本である、座標と向きについて、解説します。
座標と向きが分かると、スプライトを思い通りに動かすことができます。
是非最後までご覧ください。
Scratchにおける座標(ざひょう)とは


スプライトの位置は、xとyの座標で表されます。
- 左右の位置:x。左端が-240、右端が240
- 上下の位置:y。上端が180、下端が-180
- 真ん中は (0,0)です。
スプライトを動かすためのコマンド(ブロック)
スプライトをどこかの場所に動かしたいときは
この2つを使います


2つの違いは「1秒で」がついているかどうかです。
ついていない方は 瞬間移動です。
パッと指定の場所に移動します。


「1秒で」がついている方は 1秒かけて指定の場所に移動します。




他にも左右移動、あるいは上下移動だけをしたい場合は、この4つを使います


座標を調べたいとき
条件文などで、スプライトの現在の位置を調べたいときは、この2つを使います


例えば、下図のように書けば、「スプライトが真ん中より右にいるなら」
という条件分岐をすることができます。


Scratchにおける向き


続いて、向きについてです
向きはスプライトがどちらを向いているかを表します
- 上(12時の方向)=0°
- 右(3時の方向)=90°
- 下(6時の方向)=180°
- 左(9時の方向)=-90°
ポイントは、右側がプラスで左側がマイナスであることです
特に9時の方向を270°と間違わないようにすることが大事です
(他のプログラミング言語では270°としているものもあります)
向きを変えるために使うコマンド(ブロック)
こちらは直感的にわかりやすいですよね。
迷路を進むゲームなどでよく使いますが
を使えば右に曲がります
を使えば左に曲がります
「10歩動かす」のコマンド(ブロック)について
こちらは今向いている”向き”に向かって10だけ進むと言うコマンドです。
例)


もう少しゆっくり動くように書き換えると


「45度の方向に向ける」
「10歩進む」
としたので右斜め上に動きます
スプライト(ネコ)が変な方向を向いちゃう!どうすればいい?
こんなことで困ってませんか?
理想
現実




こんな場合は、回転方法を左右のみにすれば解決します。


まとめ
Scratchの基本である座標と向きについて解説しました。
いろんなコマンド(ブロック)を使ってスプライトを動かしてみてください