作成:旭川児童パソコン教室“ぱそんこ”
前回【インベーダーゲームを作ってみよう!⑥】の続きを作っていきましょう。
ビームにやられて自機が爆発する絵を用意します。
2番と3番のコスチュームを交互に表示して、敵の攻撃が当たったようにします。
コスチューム名は、爆発1と爆発2です。
自機とビームの当たり判定をしよう
敵のビームが当たったかを調べ、当たったら爆発するようにします。
ただ今回は、爆発すなわちゲームオーバーなので、そのことも考えて作ります。
まずGameOverという新しいメッセージを作ります
自機【Crab】のプログラムを変更します。
自機が敵ビームに当たったとき、爆発するようにします。
追加 ① では、コスチューム1(砲台の絵) にしています。
再実行した時に爆発の絵から切り替えるためです。
追加 ② では、敵ビーム【敵beam】と当たったか判定しています。
当たっていればGameOverメッセージを送り、その後でスクリプトを停止します。
追加 ③では、GameOverメッセージを受け取ったときの処理になります。
爆発のコスチュームを交互に表示させて爆発しているように見せています。
※実際動かしてみて自機【Crab】の大きさも調整してみましょう。
敵の進攻を止めよう
自機がやられたら、敵の進攻を停止するようにします。
正確にはGameOverメッセージを受け取ったときの処理です。
敵【Lady bug2】に次のコードを追加します。
GameOverを受け取ったら、【Lady bug2】の動きをすべて止めます。
ビームを撃てないようにしよう
今は自機が爆発していてもビームが撃てます。
自機が移動(操作)できないときは、撃てないようにします。
状況を見るための自機の移動変数をすべてのスプライト用で作ります。
移動(操作)できるとき自機の移動を1、できないときを0として使います。
自機のコードを変更します。
ゲームオーバーになったら自機の移動変数を0にしています。
GameOverメッセージを送るタイミングではなく、
受け取ったときに自機の移動を0にする理由は後で分かります。
【star】のコードを編集します。
自機の移動が0ならば、ビームを撃てないようにします。
コメント