【Scratch入門】「キーが押されたとき」と「ずっと+もしキーが押されたなら」の違い #初級編

スポンサーリンク

キーが押されたときの動き

キーボードの「→」を押したら右へ進む、「←」を押したら左へ進む。

今日は、こんなプログラムを作ってみましょう。

スポンサーリンク

カニを横に動かす

カニのスプライトを使って、左右に動かすプログラムを作ります。
左上の緑の旗を「実行ボタン」、左上の赤い丸を「停止ボタン」と呼ぶことにします。
プログラムのスタートとストップの役割を果たします。

〔ずっと〕ブロックを使う

カニを歩かせるプログラムを作る場合は、こんな感じで作ります。
〔ずっと〕のブロックを使うと、中に入れたものがプログラム停止までずっと繰り返されます。
ずっとの中に〔もし左向き矢印が押されたなら〕を入れることで、「←」キーが押されたときに反応するようになります。
ここでは〔-10歩動かす〕を仕込んでおきます。
「10歩」は右に進み、「-10歩」は左進みます。

〔キーが押されたとき〕ブロックを使う

もう一つ、似たようなブロックがあります。
それが〔右向き矢印キーが押されたとき〕です。
こちらも、「→」キーが押されたときに右に進みます。
しかし、実際に組んで実行してみれば分かりますが、〔ずっと〕ブロックを使ったときとは若干違う動きをします。

滑らかに動かしたいときは〔ずっと〕ブロック

一番大きな違いは、動きがスムーズではないこと。
例えばパソコンでメモ帳を開き「z」のキーを押しっぱなしにすると、画面には「zzzzzzzzzzzz」と表示されます。
この入力をよく見ると、1文字目のzを打ったあと2文字目のzが出てくるまで、わずかに時間がかかります。
このようにキーを押しっぱなしにしたときのわずかな時間の隙間が、カニの動きに反映されてしまいます。
キーの押しっぱなしを使いたいプログラムの場合、〔ずっと〕ブロックを使った方がスムーズに動きます。

スポンサーリンク

カニの色を変えてみる

さて、もう一つプログラムを作ってみます。
今度は〔コスチューム〕を変えてみます。
分かりやすくするために、赤色のコスチュームと黄色のコスチュームの2種類を作っておきます。

〔ずっと〕ブロックを使う

矢印キーを押したらコスチュームを変更するようにプログラムしてみます。
プログラム A-1 と同じように〔ずっと〕を使うとどうなるでしょうか。
1回だけ「←」キーを押したつもりなのに、何回も押したように判断されてしまいました。

〔キーが押されたとき〕ブロックを使う

次にこちら、〔右向き矢印キーが押されたとき〕を使ってみます。
すると、一度押すと黄色いカニに、もう一度押すと赤いカニに、次は黄色いカニと、きちんと交互に色が変わるようになりました。

1回ずつのキー入力なら〔キーが押されたとき〕ブロック

〔ずっと〕を使うと動きが早く滑らかになりますが、同時にキーの反応に敏感になってしまい、一度だけ押すという反応が難しくなります。

滑らかで連続性のある入力が必要な場合は〔ずっと〕、一度だけ押される、すぐにキーを離すような入力をする場合は〔キーが押されたとき〕を使うと良いでしょう。