スクラッチでシューティングゲームを作ろう③

今回はシューティングゲームの敵(てき)を作っていきます。

スクラッチでシューティングゲームを作ろう②はこちら

敵(てき)をプログラミングする

敵はどうプログラミングをすればよいか考えてみましょう

①敵(てき)は右から現れて左に進んでいく。左のはしにくると消える
②敵(てき)が出てくる位置(いち)は毎回ちがう(ランダム)
③敵(てき)は1秒ごとに出てくる
④弾(たま)に当たると敵(てき)は消える

一度に全部つくるのは難しいので1つ1つ作っていきましょう。
今回も前回と同じ「クローン」という機能(きのう)を使います。

敵(てき)のクローンをプログラミング

クローンされたときに①の右から現れて左に進んで左のはしにくると消えるを作ります

まず敵(てき)が出てくる位置(いち)を決めます。敵(てき)を右はしにおいてX,Y座標(ざひょう)をメモしましょう。

🚩が押されたときにはクローンの共通のブロックを本体に設定しましょう。
ここでは大きさ、向き(左向き)、「回転方法を左右のみにする※」を設定して隠(かく)すで本体を見えないようにします。
※左向き(-90度)にするとスプライトがひっくり返ってしまうのでそうならないようにするために「回転方法を左右のみにする」を入れています。

クローンされたときは最初に合わられる場所を先ほどメモした座標(ざひょう)にでてくるようにします。

続いて本体は隠(かく)すで見えないようにしているので「表示する」で見えるようにします。

あとはずっと5歩動かすで左はしの座標(ざひょう)よりx座標が小さくなったらクローンを削除(さくじょ)するようにします

乱数(らんすう)を使って敵(てき)が出てくる場所をランダムにする

このままだと毎回同じところから敵(てき)が出てくることになります。

乱数(らんすう)をつかって敵(てき)が出てくる場所を変えたいと思います。

まず、敵(てき)が出てくる範囲(はんい)を決めます。スプライトを動かして一番上の位置(いち)と下したの位置(いち)を決めましょう。右図では上のY座標(ざひょう)を138、下のY座標(ざひょう)を-138としています。

乱数(らんすう)の範囲(はんい)を-138から138とすることでコンピュータがその間の数を自動(じどう)で決めてくれます。

乱数(らんすう)のブロックを敵(てき)スプライトの出現のブロックの中に入れましょう。

1秒に1回クローンを作る

クローンを作るプログラムは🚩が押されたときの下に作りましょう。

本体を隠(かく)したあとにクローンを作るようにしたいと思います。ゲームが始まって2秒後から敵(てき)が出てくるようにします。

待つブロックの次に「自分自身のクローンを作る」「1秒待つ」のブロックをずっとくりかえすように作ります。

弾(たま)に当たると敵(てき)が消えるようにする

弾(たま)のスプライトに触(ふ)れたら敵(てき)のクローンを消えるようにするためには、何度も触(ふ)れているかどうかを確認する必要があります。

ずっと5歩動かすというプログラムがすでにあるので動いた後に弾(たま)(Basketballスプライト)に触れていたらクローンを削除するというプログラムを作りましょう。

よくあるまちがいは「もし~に触(ふ)れたら」がくりかえしブロックの外にあることがあります。くりかえしブロックの外にあったらそのプログラムは1度だけしか動かないので注意しましょう

さてここまでできたらプログラムを動かしてみましょう。シューティングゲームのような動きになったと思います。

次回は点数や主人公のライフ、残り時間などを作っていきたいと思います。