ICT活用担当のyotaです。地域おこし協力隊として小学校やイベント等でプログラミングを教えています。今回はシューティングの敵をプログラミングしていきます。
敵の動きを考える
敵を作るうえで敵はどのように動くかを考える必要があります。
どういう動きにするかを箇条書きにしてみます。
・右端に出現して左方向に向かって進む。左端に着くと敵は消える
・敵の出現間隔は1秒間隔にする
・敵が出てくる場所は同じではなく毎回違う場所にする
これをプログラミングするためにはどうすればいいでしょうか?
1秒間隔で敵を出現させて左に進むというプログラムは前回の弾のプログラムと同じようにクローンを使うと実現できると考えることができます。あとは出現位置を毎回違う位置にするようにプログラムを作ればよいです。
毎回違う位置を出現することを実現するためには乱数という機能を今回は使います。
指定した範囲の数字をランダムでコンピュータが選んでくれる機能です。
ネコが乱数に入れた数字を5回話すプログラムを作成してみます。
1から10に設定した数をランダムに話しているのが分かると思います。
敵は右端から出現して左方向に動きます。縦方向は乱数を使うためy座標の位置の範囲を決める必要があります。
座標はスクラッチでシューティングゲームを作ろう②で説明をしています。
①敵のスプライトの大きさを設定します(今回は40)
②敵をステージの端に触れないように右上に置きます。これは左端に敵がたどり着いた際に消えるようにするため、端に触れたら削除するというプログラムを入れるためです。
③このときのX座標(208)とY座標の(131)を記録しておきます。
④縦方向は乱数とするため範囲の上限は131、下限は-131を使うようにします。
1秒間隔で敵のクローンを作成する
初期処理は弾のプログラムと同じように大きさを設定して隠すで本体を見えないようにしています。
回転方法を左右のみにするというブロックを入れていますが、通常状態だと向きを変えるとスプライト自体が回転します。このブロックを入れると画像が自由に回転せずに右向きか左向きかのみで画像が変わるようになります。
ずっとブロックに自分自身のクローンを作って1秒待つを入れることで1秒間隔で敵のクローンが作成されるようになります。
敵のクローンのプログラム
クローンが作成されたとき、最初にクローンを出現位置に移動させます。ここで先ほど記録したX座標と、Y座標を使用します。X座標は208、Y座標の部分には乱数ブロックを埋め込み-131から131までを設定します。
その後、左向きに向けるため-90度を設定し、表示するで見えるようにします。
あとは弾のプログラムと同じようにずっと10歩動かし端に触れたらクローンを削除するようにプログラムします。
敵にアニメーションをつける
このままだと静止画が左に移動しているように見えるのでスプライトに動きをつけます。
コスチュームを一定間隔で変更すればOKです。
これで敵が出てくるようになりました。
コメント