速習!スクラッチ講座

SCRATCH

全方位ランダムで弾幕をつくる

弾幕についてはいくつか作りかたがあり、以前もひとつ紹介しました。

3秒おきに弾幕を発射する

以前の記事と違って、今回は10発のボールを、全方向ランダムで発射するプログラムをつくりましょう。

使うスプライトはロボットとボール。

ロボットは、左右にずっと動きつづけ、端に着いたら跳ね返るようにします。

ロボットにコードをつくりましょう。

今回も、3秒おきに弾幕をつくるようにします。

以前にも紹介したとおり、システムタイマーの切り下げと、「割った余り」をつかって、3秒おきを表現しましょう。

3秒おきにメッセージを送るようにしました。

1秒待つをつかって制御時間を調整

次はボールです。

まずは一つ目のコード。

ロボットから発射するので、ずっとロボットにくっついていくんですね。

そして、メッセージ1を受け取ったときにクローンを生成。

10発をランダムの方向に配置して発射なので、このようにコードをつくってみました。

プレイしてみましょう。

ボールが出現し過ぎて、大変なことになってしまいました。

なぜかというと、ロボットから送っているメッセージ1に原因があります。

3で割った余りが0になっている時間というのは、およそ1秒間あるんですね。

1秒間、ずっとメッセージ1の信号を送り続けていることになります。

ということは、メッセージ1を受け取ったボールのほうも、クローンを1秒間ずっと生成し続けることに。

ここではとりあえず、「1秒待つ」のコードを追加して、これを回避しました。

プレイしてみましょう。

ずっと信号を受け続けることなく、10発が全方位ランダムで、発射されるようになりました。

SCHOOL教室案内