Scratchでよく使われる便利なコード6

Scratchでよく使われる便利なコードの使用例です。今回は「ミサイルの撃ち方」です。これを参考にいろいろと試してください。

ミサイルの撃ち方

シューティングゲームを作るときは縦向きでも横向きでもミサイルを発射します。

以前に「Scratchでよく使われる便利なコード1」でクローンの使い方でも紹介しましたが、ミサイルの発射方法は他にもいろいろあります。

それぞれの方法でミサイル発射の特徴的なことがあるので合わせて説明します。

ここでは主に3種類の方法を紹介します。

画面下に自機があってそこからミサイルが発射される縦向きの動きを例にして説明します。

自機は方向キーで左右に移動でき、スペースキーでミサイルを発射します。

自機とミサイルはそれぞれ独立したスプライトで作ります。

1つ目はスペースキーを押したときのイベントを受信して発射する方法です。

ミサイルのスプライトにコーディングします。

ゲームが始まったときはミサイルを消しておきます。

スペースキーが押されたとき、自機へ行って、表示します。

そして、画面下から上へ移動するので、端に触れるまでY座標を10ずつ変えます。

これでスペースキーを押すと自機からミサイルが発射されます。

このコードで発射したときの特徴は、スペースキーを押しっぱなししても連続してミサイルは発射されません。

また、スペースキーを速く何度も打っても連続してミサイルは発射されません。

それはスペースキーが押されたときのイベント後のコードがミサイルが消えるまで実行されているからです。

1発ずつミサイルを発射させたいシューティングゲームを作るときはこの方法を使います。

2つ目はクローンを使ってミサイルを発射します。

Scratchでよく使われる便利なコード1」で紹介しましたが、ミサイルのスプライトをクローンして移動させることでミサイルを発射します。

はじめにミサイルは消しておいて、スペースキーが押されたらクローンされます。

クローンされると自機に行って表示します。

そして先程と同じようにY座標を10ずつ変えて画面上に移動します。

この場合は、スペースキーが押されたときにクローンを作ってすぐに次の処理に移ります。

なのですぐに次に押されたスペースキーを認識するので、スペースキーを押しっぱなしをすると次々とミサイルが発射されます。

すごい速度でミサイルが発射されるので、スペースキーを押しっぱなしにするとミサイルは帯状になります。

3つ目もクローン使ってミサイルを発射します。

2つ目の方法を少し修正するだけです。

クローンを作った直後に、スペースキーに押されないまで待ちます。

こうすることで一旦スペースキーから手を話さないと次の処理に移りません。

これでスペースキーを押しっぱなしにしてもミサイルが次々と発射されないようになります。

まとめ

ミサイルの撃ち方は工夫次第で様々な方法があります。

ここで紹介した方法はその中でも基本的なよく使われる方法です。

これを参考にいろいろ工夫して自分のミサイル発射方法を見つけるのも面白いでしょう。