2018年2月10日土曜日

Scratchでプログラミング その7 矢印キーで左右に動くネコ

Scratchの使い方解説です、今回の難易度はEasy。
入門レベルです。
ここまでの記事の応用なので、他の記事を先に見たほうが良いかも?
記事をまとめたページはこちら。

前回までに作成したネコは「旗をクリック」したら自動で動くネコでした。
もし、ゲームなどを作る場合は、キー操作に合わせて動かしたいですね。

ですので、キーボードの右キーと左キーで左右に動かせるようにします。


0.目次


  1. 画面をきれいにする
  2. その場でテクテク歩かせる
  3. キーボードで左右に動かす


1.画面をきれいにする

まずは、要らないものを綺麗にした状態にします。
先に作ったコマンドを残していても良いですが「旗がクリックされたとき」に何かするようなコマンドがたくさんあると、予想しない動きをすると思いますので、コマンドのブロックを分解するか、削除しちゃいます。


2.その場でテクテク歩かせる

まずは、その5 テクテク歩く(アニメーション) を参考に、

  • ネコを地面に移動
  • テクテクとアニメーションさせる

させます。

ネコを地面に移動するコマンドは以下のようになります。


テクテクとアニメーションさせるコマンドは以下のようになります。

その5 テクテク歩く(アニメーション) の解説のなかで別案として書いていたものを使用しました。

前回の提示のものは、コレです。

まず、前回作成したアニメーションは、動きが遅かったので、
制御の1秒待つ」コマンドを0.3秒待つ」に変更しました。

ネコの場合はcostume1とcostume2を切り替えるコマンドは、「コスチュームをcostume1にする」「コスチュームをcostume2にする」でも表現できますが、
見た目の「次のコスチュームにする」でも表現できます。

こちらのほうが、短くかけてわかりやすいので、変更しました。
趣味の問題なので今までの書き方でもOKです。

また、前回は制御の「10回繰り返す」を使用していましたが、制御の「ずっと」に変更しました。
これまでは、アニメーションを10回繰り返して終了していましたが、これでずっとアニメーションが繰り返されます


3.キーボードで左右に動かす

今回のメインですね。まずは右キーで右に移動するネコを作ります。
キーボードでネコを動かすには、
制御の「もし~~なら」を使います。



これは一般的なプログラムのif文とか条件分岐と呼ばれるものです。
用語は覚えなくて良いですが、プログラムを作るのにとても重要なコマンドです。

「もし」「なら」の間の「~~」には調べるの「スペースキーが押された」を入れます。


今回は右方向へ移動させるのでスペースキーが押された」から右向き矢印が押された」に変更します。

選べるキーはたくさんあるので、ゲームなどでは好きなキーを選んでください。
2つのコマンドをくっつけると、こんな感じです。


この中にその3 ネコを左右に移動させるで使用した右へ移動するためのコマンドを入れます。

これでOK!

ネコを地面に移動するコマンドに繋げると、こんな感じです。


これで「旗をクリック」すればネコは右へ移動します。


いまは右へ移動するコマンドしか作ってないので、同様に左へ移動するコマンドを作成します。
比較用に右へ移動するコマンドと左へ移動するコマンドを並べてみました。
それぞれのコマンドが反対の値になっているように作れば良いですね。


作ったコマンドは、右へ移動するコマンド左へ移動するコマンドも一緒に制御の「ずっと」に入れます。

右へ移動するコマンド左へ移動するコマンドどちらが先でもOKです。
「ずっと」で囲むのは、プログラムの実行中に常にキーボードが押されているか確認してほしいからです。もし「ずっと」で囲まない場合、旗をクリックした瞬間しかチェックされないので、ネコは歩けなくなります。

これで完成です☆

ゲームでよく使う、プレイヤーの移動はこのような感じで作られていると思います。

今回紹介した制御の「ずっと」は、プログラムの中ではとても重要なコマンドで、調べるの「スペースキーが押された」と組み合わされることで、ユーザのキー入力判定が出来ます。
是非覚えておきましょう。