愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。
これまで本ブログでは、様々なScratchのプログラムを紹介してきました。ただどのプログラムもスプライト(キャラクター)は決まった動きをするだけでした。以前紹介した下記ページでも、スタートボタンを押すとアニメーションのように、『ピッチャーボール投げる⇒バッター打つ』、と単調な動きでした。
ただ普通のゲームだとキャラクターは自由に動かせるもの。ということで、今回はScratchでキーボード(矢印キー)を使い、スプライトを自由に動かすというプログラムを作っていきます。
ネズミのスプライトを操作する、というプログラムを作っていきましょう!
使用するブロック
『もし〇〇なら』 ブロック ~条件が成立したのか調べるブロック~
『キーが押された』 ブロック ~どのキーが押されたのか教えてくれるブロック~
この2つのブロックを組み合わせて、キーボードのどのキー(今回ならどの矢印キー)が押されたのか調べ、それによってスプライトの動きを変えていきます。
スプライトと背景を変える
スプライトの変更
まずは操作するスプライト(キャラクター)を変更しましょう。Scratchを起動した最初はネコのスプライトが表示されていると思いますので、これをネズミのスプライトに変更します。
背景を変更する
背景が真っ白だと寂しいので、家の中の背景に変更しましょう。家のなかをネズミが動き回る感じですね。下記の通りに自分の好きな絵を選びましょう。
これで見た目の変更は完了しました。ここから、ネズミを操作するプログラムを作っていきましょう。
キーボードを使ってネズミを操作しよう
作成するプログラム
『キーが押された』ブロックと、『もし〇〇なら』ブロックを使って、ネズミを操作するためのプログラムを作ります。
上向き矢印キーが押された時の動きを作る
キーボードのどのキーが押されたのか調べるために、 『キーが押された』ブロックと『もし〇〇なら』ブロックの2つを組み合わせて使います。
まずは『キーが押された』ブロックの設定を変更しましょう。「調べる」というグループの中に、『スペースキーが押された』というブロックがあるので、これをスクリプトエリアに配置します。
そして「スペース」の横の▼を押すと、さまざまなキーに変える事ができます。まずは『上向き矢印』キーに変更してください。
そしてこの『(上向き矢印)キーが押された』ブロックを、『もし〇〇なら』ブロックの空欄に入れましょう。
これで、キーボードのどのキーが押されたのか調べる事ができます。そして、それぞれのキーによって”どのようにスプライトを操作したいのか”、を『もし〇〇なら』ブロックの間に追加します。
上向き矢印が押された時の動きなので、まずは0度(上向き)にスプライトの向きを変え、そしてその方向に10歩動かすというプログラムにしました。これで、上向き矢印(↑)キーを押したときに、スプライトが上の方を向いて動きます。
下・左・右向き矢印が押された時のプログラムを作る
上向き矢印と同じ要領で、下・左・右向き矢印キーが押された時のプログラムを作ります。
上向き矢印キーとの違いは、『キーが押された』ブロックはもちろんのこと、〇度に向けるブロックの角度が異なる点にも注意が必要です。Scratchでは、スプライトの向きを自由に変更する事ができ、上向きを0度でしたが、下向きを180度、左向きを-90度、右向きを90度としていますので、設定したい向きへ角度を変えてください。
ここまで作った4つのプログラムをくっつけて、全ての矢印キーに対するプログラムは完成となります。そして、『緑色の旗が押されたとき』にプログラムが開始し、停止ボタンが押されるまで『ずっと』繰り返すようにブロックを追加し、冒頭のプログラムのように完成させましょう。
プログラムの解説
全て説明済みですが、まとめておきます。
- 『緑色の旗が押されたとき』 にプログラムが開始する
- 停止ボタンが押されるまで『ずっと』プログラムを繰り返す
- 矢印キーが押されたかどうかを調べる
- 上・下・左・右、それぞれの矢印キーに応じてスプライトを動かす
それでは動かしてみよう
それでは作成したプログラムが正しく動くか確認しましょう。緑色の旗を押してプログラムを実行すると、キーボードの矢印キーによって、ネズミがその方向に動きます。上・下・左・右、それぞれのキーを押して、正しく動くか確認してください。もし動かない場合には、もう一度プログラムを確認してみてください。
さいごに
今回はネズミを操作することで、キーボードを使うための基本をお伝えしました。矢印キーだけでなく、スペースキーを使ってネズミの動きを変える(ジャンプとか)、ビームを出すとか、その他にも様々な動きを作ることができるので、ぜひチャレンジしてみてください!
コメント