子どもでもわかる Scratch 入門
24.インベーダーゲームを作ろう その6
[ 23.インベーダーゲームを作ろう その5 ] の続きです。
自機がやられたときの演出とゲームオーバーの表示を行いました。
敵を再出現させよう
すべての敵を撃破したとき、敵を再出現させます。
つまりエンドレスです。昔のゲームはこの手のタイプが多かったですね。
敵の撃破数をカウントして、出現数と同じ数になったら敵を並べ直します。
まず、撃破数をカウントする変数を作ります。
変数名は撃破数、すべてのスプライト用で作ります。
次に新しいメッセージ並べるを作ります。
Gobo のコードを編集します。
大きな変更点は旗が押されたときの処理を2つに分けることです。
メッセージ並べるを使います。
撃破数を0に初期化します。
また撃破数が50になったら、メッセージ並べるを送ります。
並べるを送ることで、分離したところから新たに実行されます。
もう一つ追加です。
Gobo の爆発処理の中で撃破数のカウントをします。
実行して確認してみましょう。
すべての敵を撃破したあとで、敵が復活すれば成功です。
防護壁を用意しよう
インベーダーゲームの特徴の1つは防護壁です。
ビームによって少しずつ削られていく感じが素敵ですね。
防護壁が削られていく感じを作りたいので背景を使います。
やり方はあとで説明するので、まずは絵を用意します。
ページの右下にあるステージをクリックしましょう。
背景のタブをクリックしましょう。
このタブは、スプライトときはコスチュームでしたね。
リミックスした人は2番目の絵を選択します。
自作しようと思っている人は、適当に防護壁を描いてみましょう。
形はそれほど重要ではありません。問題は色です。
この防護壁の処理は色を使った当たり判定をします。
つまり、自機と同じ緑だったり、ビームと同じ白だったりするのはNGです。
次のような感じで防護壁を配置できていればOKです。
拡張機能のペンを使ってみよう
ビームによって防護壁が削られていく仕組みはスタンプを使います。
スタンプは拡張機能のペンの中にあります。
まずはペンを使えるようにします。
まず、ページの左下にある拡張機能をクリックしましょう。
拡張機能一覧のページに変わります。
ペンをクリックしましょう。
するとペンの命令が追加されます。
左側のバーにもペンの項目が追加されますよ。
たくさんの命令がありますね。
しかし、今回使うのは全部消すとスタンプだけです。
スタンプを使ったサンプルを作りました。
実行してみて下さい。
ネコがたくさん表示されますが、使っているスプライトは1枚だけです。
あとはスタンプで描いています。
プログラムは次のようになっています。
スタンプはスプライトの絵をコピーするだけの機能です。
クローンとは違い、コピーするのは絵だけです。
スタンプした絵は移動することも何もできません。
スタンプを使って防護壁を隠そう
防護壁にビームが当たると、防護壁が削られたようにしたいですね。
これを実現するには背景と同じ色の爆発模様をスタンプすればいいのです。
スプライト、スタンプ、背景の関係を見てください。
3つの層に分かれています。(スプライトの中では更に上下関係があります)
スプライトに対してスタンプを使うと、スタンプの層にその絵が描かれます。
この仕組みを利用します。
防護壁にビームが当たったとき、爆発の模様(スプライト)をスタンプします。
すると防護壁が壊れたように見えるのです。
色で当たり判定しているので、黒く塗りつぶすと判定されなくなります。
見た目にも消え、当たり判定も消すことができるのです。
自機ビームの爆発模様を用意しよう
自機の撃ったビームが防護壁に当たったとき使う爆発の模様を用意します。
リミックスした人は beam スプライトの中にある爆発の絵を使います。
スプライトのコスチュームを見てみましょう。
2番目に爆発模様のコスチュームを用意しました。
名前はbeamExです。
このようにビームと同じスプライトに入れておき、
切り替えてスタンプを使います。
次回はスタンプを使って防護壁を壊す処理を作ります。