愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。
以前の記事で、キーボードの矢印キーを使ってネズミを操作する、というプログラムを紹介しました。
上のページでは矢印キーを使いましたが、それ以外のキーを使うこともできます。ということで、今回はスペースキーを使いたいと思います。
スペースキーでボールを投げてバッターが打つ、というプログラムです。バッターの動きは決め打ちですが、まずはスペースキーの使い方を覚えてもらえれば!
下記のページで、ピッチャーが自動でボールを投げてバッターが打つプログラムを作ったので、これを作り変えて行きましょう。
使用するブロック
『スペースキーが押されたとき』~キーボードが押されてからプログラムを開始したいときに使うブロック~
『メッセージを送る』『メッセージを受け取ったとき』~メッセージをやりとりしてプログラムを動かしたいとき~
【ピッチャー】スペースキーが押されたら動くようにプログラムする
それでは前に作ったピッチャーのプログラムを変更して、スペースキーが押されたら投げる動作をするプログラムを作っていきましょう。
作成するプログラム
今回は”スペースキーが押されたらピッチャーがボールをなげる”動きをさせたいので、『スペースキーが押されたとき』ブロックを使います。このブロックをピッチャーが投げる動作をする前、『コスチュームを〇〇にする』ブロックの前にくっつけます。
もともとあったプログラムを半分に分けて、間にブロックを追加する感じですね。
そして投げ終わった後で、投げたことを教えるためのメッセージを送ります。もともと『メッセージ1を送る』というブロックがありましたが、これを本プログラムでは『なげたを送る』とメッセージの名前を変えます。
他にもメッセージを追加したいので、分かりやすく変更しました。
【ボール】メッセージを受け取り移動する
作成するプログラム
ピッチャーが投げる動きをしたあとで、バッターめがけてボールが飛んでいくプログラムを作ります。これまでもピッチャーの動作の後で『メッセージ1を受け取ったとき』に動くようなプログラムとなっていましたが、これを少しだけ変更します。
まずは、先ほどピッチャーのプログラムで投げた後のメッセージの名前を「なげた」に変更したので、同じくボールが受け取るメッセージも「なげた」に変更します。
あと、パソコンの性能にもよるかもしれませんが、少しボールの移動スピードが早かったので、『〇秒待つ』ブロックを追加しました。
さいごに、バッターにボールの到着を知らせる『とうちゃくを送る』ブロックを追加しました。
【バッター】メッセージを受け取ってからボールを打つプログラムを作ろう
作成するプログラム
もとのプログラムでは、スタートボタンが押されてから4秒経過後にバットを振るようなプログラムとしてました。だいたい4秒後くらいにボールが到着していたためです。
しかし、今回はスタートボタンを押してからすぐにピッチャーがボールを投げるわけではありません。そうです、スペースキーが押されてからボールが飛んでくるのです。
なので、4秒というあいまいな時間では、思った通りにバッターが動いてくれません。
そこで、先ほどボールのプログラムで追加した『とうちゃく』というメッセージを受け取ってからバットを振るように変更します。
もとのプログラムを半分に分けて、『とうちゃくを受け取ったとき』ブロックを追加します。
これで、ボールが近くに来てからバットを振るようにプログラムする事ができました。
動作を確認しよう
それでば、プログラムを実行しましょう。
スタートボタンを押したら、好きなタイミングでスペースキーを押しましょう。
すると、ピッチャーが投げる動きをして、その後ボールが飛んでいきます。そして、バッターの近くまで飛んでいくと、バットを振る動きをします。そしてボールにあたり飛んでいきます。
まとめ
今回はスペースキーを押してスプライトを操作するプログラムを作りました。前回の矢印キーと組み合わせることで、「矢印キーでスプライトを操作」「スペースキーで攻撃」と、シューティングゲームのようなプログラムを作ることができそうですね。
コメント