プログラミングでキャラクターを自由自在に動かそう!【キーボード編】
本記事は2021年09月17日にLINE entry公式ブログにて掲載されたものを再掲載した記事です。
ゲームではマウスのほか、上下左右のカーソルキーなどを使ってキャラクターを操作することがありますよね。今回はキーボードを使ってキャラクターを動かす方法を2つ紹介します。
マウスを使った方法はこちらの記事で紹介しています。未読の方は下のリンクから読んでみてください。
プログラミングでキャラクターを自由自在に動かそう!【マウス編】
それでは下記のリンクからLINE entryのワークスペースにアクセスしてプログラミングを始めましょう。
ワークスペース
キーボードを使ってキャラクターを動かそう!その1
キーを押してキャラクターを上下左右に操作するプログラムは、
上矢印キーを押したときに上に進む
下矢印キーを押したときに上に進む
左矢印キーを押したときに上に進む
右矢印キーを押したときに上に進む
という4つのプログラムの集まりによってできています。
使うブロックは
「開始」カテゴリーから「”q”キーを押した時」ブロック
「動作」カテゴリーから「”90°”の方向に”10”だけ動く」ブロック
です。
ブロックを取り出したら「”q”キーを押した時」ブロックの"q"をクリックすると表示されるメニューから「右矢印」を選んで変更します。そして以下の画像のように組み合わせます。
これで右矢印キーを押すとキャラクターを右に移動させることができるようになりました。
つづけて残りの「上」「下」「左」の3つの操作もプログラミングしてみましょう。使うブロックはさきほどと同じで、押すキーの種類と角度の数値だけ変えます。LINE entryでは方向を時計回りの角度で表わし、上は「0°」右は「90°」下は「180°」左は「270°」となります。ブロックの押すキーと角度の両方を変えるのを忘れないようにしましょう。
完成したプログラムは下の画像のようになります。
プログラムを実行してうまくいかなかったときはお手本のプログラムと見比べて修正しましょう。これに似たテクニックが、「みんなの作品」の「リンゴキャッチゲーム(改)」で男の子を左右に動かす仕組みに使われています。このゲームのように左右の操作のみの場合は、左と右2つのプログラムを作ればいいというわけです。
キーボードを使ってキャラクターを動かそう!その2
キャラクターをキーボードで操作するにはこんな方法もあります。まずは下の画像を見てください。
「もし○○なら」という条件を4つ使って、上下左右に動くためのプログラムを1つにまとめたプログラムになっています。
使うブロックは
「開始」カテゴリーから「スタートボタンをクリックした時」ブロック
「制御」カテゴリーから「ずっと繰り返す」「もし”正しい”なら」ブロック
「動作」カテゴリーから「”90°”の方向に”10”だけ動く」ブロック
「判断」カテゴリーから「”q”キーを押しているか?」ブロック
です。
このプログラムは4つの 「もし”○矢印”キーを押しているか?なら」 「”度数”の方向に”10”だけ動く」 というまとまりをずっとくり返すことで、いつキーを押しても何のキーを押したか判断しキャラクターを操作することができます。もし「ずっと繰り返す」ブロックを組み合わせないと、スタートボタンをクリックしたときだけキーが押されているかを判断するプログラムになってしまうので注意しましょう。
今回はここまで。
キーボードでキャラクターを動かす方法について2つの方法を紹介しました。使っているブロックはちがいますが、どちらも「矢印キーを押したら動く」という目的を言いかえてプログラミングしていましたね。同じ動作のプログラムを作るにはどのように言いかえる必要があるかを考えるとプログラミングがとても上手になりますよ。 次回は中学数学で習う「座標」という考えを利用した方法を紹介します。お楽しみに!