【Scratch】<入門編>2-2 ねこを動かそう!その1(動き/X座標とY座標/向き/ずっと)

・スプライトを動かす(「~歩動かす」「~座標を~ずつ変える」)
・X座標とY座標(スプライトの位置)
・「~度に向ける」(向き、角度、左右反転)
・「ずっと」ブロックの使い方
こんにちは、Anksです。今回もみなさまよろしくおねがいします。
前回<入門編>2-1 ねことお話ししよう!(スプライトって何?/~と~秒言う)の続きです。
今回は、スプライトの動きについて学びます!ねこを動かしていきますよ。

まずはさっそく、「10歩動かす」のブロックを、旗が押されたとき、のブロックの下にドロップして、

【Scratch】スクラッチ 10歩動かすの配置画像

旗のボタンをクリックしてみましょう。すると、、、

【Scratch】スクラッチ 10歩動いた後

・・・ん?ほんの少し?動きましたね。(笑)

ここで、スプライトの欄のXと書いてあるところを見てください。(上の図で赤丸で囲ったところ)
ねこが向いている方向に10歩動いた結果、Xの数字が10になっています。

旗のボタンを何度も押してみてください。
さらにねこも10歩ずつ動いて、押すごとにXの数字も10ずつ増えていくのがわかりますか?
この数値が「座標」です。

○座標と向きについて

スクラッチには、横向きのX座標とY座標があって、その数値によって、スプライトの位置や動きが決まるようになっています。

【Scratch】スクラッチ X座標とY座標
<X座標とY座標>

また、スプライトには向きがあります。

【Scratch】スクラッチ 座標と向きについて

向きの初期設定は、90度となっています。ねこがいま向いている、X座標のプラスの向き(=右向き)ですね。
下の図で、向きと角度の関係がイメージできると思います。

Scratch】スクラッチ 向きと角度
<向きと角度>

今回は、
「10歩動かす」のブロックを使って、
向きが90度のねこを10歩動かす(=X座標をプラスの方向に10ずつ変える)ことになった、というわけです。

では一度、ねこ1のX座標をもとの0に入力しなおして、
今度は、ねこを左右に行ったり来たりさせるスクリプトを作ってみましょう!

○「ずっと」ブロックを使ってみる

まず、「10歩動かす」のブロックを一度消します。
消し方は、置いた時とは反対に、コード一覧のほうに向けてドラッグ&ドロップします。(右クリック→「ブロックを削除」でも可能)

【Scratch】スクラッチ ブロックの削除の仕方の画像

次に、
向きや位置を毎回もとの位置に戻すのは手間なので、初期位置の設定のために、
「旗が押されたとき」のすぐ下に、

「X座標を0、Y座標を0にする」
「90度に向ける」

のブロックを付けておきましょう。

【Scratch】スクラッチ 初期位置の設定(初期化)

こうしておくことで、毎回、旗を押してスタートしたときに、スプライトが元の位置と向きに戻るようになります。

Anks
このように、プログラムをスタート時に初期状態に戻すことを「初期化」と言います。「初期化」の設定は、毎回プロジェクトを同じ状態でスタートさせるのに重要な作業ですので、意識して覚えておいてくださいね。
次に、今度はねこに、一度だけではなくずっと動いていてほしいので、
初期化のために置いたブロック(「90度に向ける」)のすぐ下に、「制御」の中にある「ずっと」のブロックを置きます。
【Scratch】スクラッチ ずっとブロックの設置
「ずっと」のブロックは、コの字のような、少し変わった形をしています。この中にブロックを入れたものは、一度ではなく何度もずっとブロックの効果が実行されることになります。
ここに、「10歩動かす」と「もし端に着いたら、跳ね返る」のブロックを入れてみましょう。
(「もし端に着いたら、跳ね返る」のブロックは、「動き」欄内の下のほうにあります。)
【Scratch】スクラッチ もし端に着いたら、跳ね返るの説明
旗のボタンでスタートすると、、、
【Scratch】スクラッチ さかさまになってしまう画像
無事、うろうろし始めましたか??
「ずっと」ブロックのおかげで、ねこはずっと10歩動き続けて端に当たると跳ね返っていますが、左に行くときにさかさまになってしまっています。。。!
上下は固定し、左右のみを反転したい場合は、
向きの数値の欄から、回転を「左右のみ」にするボタンをクリックするか、「回転方法を左右のみにする」のブロックを配置します。
【Scratch】スクラッチ 回転を左右のみにする
【Scratch】スクラッチ 回転を左右のみにするブロック
これで、ばっちりねこが左右に行ったり来たりするようになりました!
ちなみに、「回転方法を左右のみにする」ブロックを「ずっと」の中に入れていない理由はわかりますか?
その理由は、「回転方法を左右のみにする」という設定への切り替えは、一回きりでいいからです。この場合、初期化の際だけ設定すれば良いということですね。
何度もする必要が無いものは、「ずっと」の外に配置する、という考え方です。
以上で、このチャプターの内容はおしまいです!
うまくできましたでしょうか?
自動で動いているだけだと、ゲームという感じはしませんね。
次のチャプターでは、
実際に、キーボードの矢印キーでねこを自分で動かすことができるようにしますよ!
今回も、ありがとうございました。
→次のチャプター <導入編>2-3 ねこを動かそう!その2 に進む