敵の弾を発射する!
こんにちは、おおやけハジメです。
四回目は敵の弾を発射するところを作りました。
https://scratch.mit.edu/projects/146790134/scratch.mit.edu
敵の弾のスプライト新規作成
敵が撃つ弾のスプライトを作成します。
一番右の「lightning」が敵の弾になります。
スクリプト
弾のスクリプトはこんな感じになります。
「データ」ですべてのスプライト用の変数「teki_tama_start_x」と「teki_tama_start_y」を作っておきます。
このスプライトもクローンして使用するため、緑の旗がクリックされたと同時に隠します。 そのままだとちょっと大きすぎるので、サイズを30%にします。
そして、クローンされた時の処理は、最初にx座標、y座標をそれぞれ「teki_tama_start_x」と「teki_tama_start_y」に設定します。 その後に「表示する」にして、画面の端に着くまでy座標を減らしていきます。 端に触れた場合はクローンを削除します。
敵が弾を発射する
次に敵が弾を発射するスクリプトを作ります。 前回から増えたところは、下記のスクリプトになります。
「0〜30」までの乱数を生成し、0だった場合に弾を発射します。 「teki_tama_start_x」と「teki_tama_start_y」にそれぞれ自分のx座標、y座標を代入し「create_lightning」メッセージを送ります。
敵がクローンされた時のスクリプトの全体は下記のようになります。
敵の弾をクローンする
敵のスクリプトで「create_lightning」メッセージを送りましたが、まだ受け取る処理を作っていませんでした。 「ステージ」のスクリプトに「create_lightningを受け取った時の処理を作ります。
敵を三匹にする
敵が一匹だと寂しいので、三匹出てくるようにします。 ステージのスクリプトで敵を生成しているところを三匹生成するように修正します。
これで、敵が弾を撃ちながら落ちて来るようになると思います。