この記事のポイント
スプライトが弾を発射する方法を説明します。
はじめに 弾を撃ちたい
シューティングゲームの醍醐味と言えば、弾を発射して敵を倒すことですね。今回はろぼてくが弾を発射できるようにプログラミングをしていきます。
ついにろぼてくがレーザービームを放つときが来ました。
巨大な敵に立ち向かいます。
参考記事
前回の記事
前回の記事では、スプライト(キャラクター)をステージ上で操作できるようにしました。スマホのタッチ操作でもPCのキーボードのタッチ操作でも動かすことができます。以下記事を参照してください。
シリーズ1回目の記事
シューティングゲームを作ろうシリーズを最初から始めたい方は以下の記事を参照してください。
スクラッチの始め方
スクラッチをイチから始めたい方は以下の記事を参照してください。
完成作品
完成作品はこのようになります。いつもの通り左上の緑色の旗をクリックするとプログラムが動きます。
操作は以下です。
- 左下の十字キーもしくはキーボードの十字キーでろぼてくを動かせます。
- 右下の緑色ボタンを押すと弾が発射します。
完成プログラム
新規追加スプライト
<発射ボタン>
発射ボタンを新規で追加します。
<弾>
修正スプライト
<ろぼてく>
弾の出現で使うためのろぼてくの位置を取るためのプログラムを追加します。
作るもの(仕様)を考える
今回の作るものの動きを最初にザクっと考えておきます。
- 発射ボタンを押したら、弾が発射する。
- 発射ボタンは、押されたらペコっと押されているように見せる。
- 弾は、ろぼてくの位置から発射される。
- 弾は、何発でも撃てるようにする。
- 弾は画面右端にたどり着いたら消える。
- 弾が発射されたら音を鳴らす。
事前準備
新たに追加するスプライトを準備します。
今回のスプライトは、スクラッチに用意されている「Ball」と「Button」をそのまま使います。
「Ball」を弾の替わりに使っていきます。
プログラミング
ボタンをクリックしたら、押されているように見せる
まずはボタンをクリックしたときにボタンが押されているように見せるプログラミングをしていきます。
このようにプログラムを組みます。この段階で「弾発射を送る」メッセージも入れておきます。
ポイント1 対象スプライトをクリックしたときに動作させる
対象のスプライトをクリックしたときに何か動作させたいときには、もしブロックの条件で
「マウスのポインターに触れた」かつ「マウスが押された」が鉄板のやり方でしたね。下の記事でその考え方の詳細を紹介していますので、参考にしてください。
ポイント2 ボタンを押す=大きさを小さくしてから元に戻す
ボタンを押されたように見せるためには、
- ボタンがクリックされたときに
- スプライトの大きさを一旦小さくして
- 少し時間を空けて
- スプライトの大きさを元に戻す
ことで実現できます。
キーボードでも動かせるようにする
キーボードでも操作できるようにしておきます。「もしスペースキーがおされたなら」ブロックを追加して、中身は先ほどのプログラムをコピーしたものを追加します。
ボタンが押されたら弾を発射する
ボタンが押されたたら弾を発射するプログラムを書いていきます。
まず、ボタンが押されるまで弾は見えないようにしておきたいので、以下のように「隠す」初期化をしておきます。
弾をスプライト(キャラクター)から発射する。
当たり前のことですが、弾は自分の操作しているスプライト(キャラクター)から発射しているように見せたいですよね。
意外とこの当たり前をプログラムで実現することが難しかったりします。
ここでは、弾をスプライト(キャラクター)から発射しているように見せる方法を説明していきます。
弾が出現する(クローンが作られる)場所を操作しているスプライトの位置にする
弾が自分の操作しているスプライトから発射されているうように見せるためには、弾が出現する場所を現在の自分のスプライトの位置にしてあげればよいです。
その方法を説明していきます。
弾を出現させるには「クローン」を使えばよいですね。さらに、このクローンが作られたときの弾の位置を、その時の自分のスプライトの位置にしてやればよいです。
以下のような流れでプログラムを組みます。ポイントは、ろぼてくの位置を一旦「全体の変数(ろぼてくx、ろぼてくy)」に入れて、弾の位置にその変数を使うことです。
- ろぼてく:ろぼてくの位置を変数に入れる。
- 弾:「玉発射」メッセージを受け取ったときにクローンを作る
- 弾:クローンされたときに最初に隠して、弾の位置をろぼてくの位置にする。
- 弾:表示する。
- 弾:ずっと右に弾を移動させる
- 弾:画面右端にたどり着いたらクローンを削除する。
弾が発射されたら音を鳴らす
さいごに微調整です。
弾が発射されたら音を鳴らします。効果音は最初から用意されている「Water Drop」を使用します。クローンされたときに鳴らしましょう。
動作確認
最後に動作確認をします。
ステージ右下の緑丸ボタンを押すと、ボタンが押されたようにエフェクトし、さらにろぼてくから弾が発射されます。ろぼてくを動かして撃ってみても、ろぼてくから弾が発射されています。
さいごに
今回はシューティングゲームの醍醐味である「弾の発射」ができるようにプログラムしました。
今回は弾の方向はまっすぐにしか進みませんが、パワーアップモードで3方向に出す等の工夫をしてみるのも面白いと思います。
次回
次回はついに敵キャラを出現させて、倒せるようにします。お楽しみに!
コメント