第2ステージをつくろう
第2ステージは、車を運転しながら、道に落ちている爆弾をドリフトで跳ね飛ばすというゲームです。
ドリフトせずに爆弾にぶつかってしまうとゲームオーバーです。
変数を作る
まず、「ゲーム終了判定」と「スコア」という変数を作ります。
「ゲーム終了判定」は、ゲーム開始時は「0」で、車が爆弾にぶつかったら「1」になり、ゲームオーバーにします。
「スコア」は、ゲーム開始時は「0」で、爆弾をドリフトで跳ね飛ばすと「1」ずつ増え、スコアが「10」になったらゲームクリアです。
「ステージ」のスクリプトエリアで、「ゲーム終了判定」と「スコア」変数を「0」にして初期化します。
車のコスチュームを追加する
車のスプライトに、上から見た車の絵を追加します。
ステージ1で追加したコスチュームと同じ順番になるように、青、ピンク、黃、黒、緑、赤の順番で登録します。
コスチューム名は、それぞれ 7、8、9、10、11、12 と半角数字で名前をつけておきます。
スクリプトを書く
コスチューム名に半角数字で名前をつけたので、例えば赤い車だったらコスチューム番号は「6」と「12」になります。(上図参照)
そのため、ステージ1で選んだ車のコスチューム番号+6が、ステージ2で表示するコスチュームになります。
「ゲーム終了判定」が「1」になるか、または「スコア」が「10」になるまでゲームは続くので、その間、← → ↑ ↓ が押されたら車の位置を動かせるようにします。
背景画像のスプライトを作る
「ステージ2」という新しいスプライトを作り、背景画像を登録します。
ステージではなくスプライトとして登録するのは、クローンを使って永久ループする背景にするためです。(ステージではクローンを使えないので、ループさせることが出来ません)

スクリプトを書く
1枚目の画像を「x座標0、y座標0」にして、画面の中央に置き、クローンで作った2枚目の画像を「x座標0、y座標340」に置きます。
自分自身もクローンも、同じ速度(y座標を-10ずつ)で移動して、y座標が-340まで行ったら y座標を340にする、という動きを繰り返して、背景画像をループさせます。
「ゲーム終了判定」が「1」になるか、または「スコア」が「10」になったら画面から消します。
ステージに背景画像を追加する
ゲームが終了した時、「ステージ2」スプライトの背景画像は消えるため、「ステージ2」スプライトと同じ背景画像を「ステージ」にも追加しておきます。
ステージに音を追加する
ゲーム中に鳴らすBGMを設定します。
ライブラリーから「drive around」を選択して、ステージの「音」に登録します。
ステージのスクリプトを書く
がクリックされたときは背景を「ステージ1」にして、「ステージ2へ」のメッセージを受け取ったら背景を「ステージ2」にします。
そして、「drive around」をずっと鳴らします。
爆弾のスプライトを作る
爆弾のスプライトを作ります。
スクリプトを書く
爆弾は実体を隠し、クローンを画面上に表示します。
「スコア」が「10」未満で、かつ「ゲーム終了判定」が「0」のあいだ、爆弾のクローンが発生し続けます。
そして、「スコア」が「10」になったら「ステージ3へ」というメッセージを送って、このスクリプトを停止します。
クローンされたときは、画面のいちばん上から「y座標を-10ずつの速さ」で移動し、いちばん下まで来たら、このクローンを削除します。
そして、車に触れたら「ゲーム終了判定」を「1」にして「ゲームオーバー」というメッセージを送ります。
ドリフトで爆弾を跳ね飛ばせるようにする
今の状態ではまだ、車が爆弾に触れたらゲームオーバーとなるだけなので、車がドリフト(回転)して爆弾を跳ね飛ばせるようにします。
車のスクリプトを追加する
スペース が押されたら、キキキーッ!というドリフト音を鳴らしながら、爆弾が車より左側にあったら時計回りにまわり、右側にあったら反時計回りに回るようにします。
爆弾のx座標はで調べたくなりますが、
で調べられるのは爆弾のスプライトの実体(隠している)なので、ここでは爆弾のクローンのx座標を調べなければなりません。
そこで、「クローン爆弾のx座標」という変数を作って、そこに爆弾のクローンのx座標を格納するようにします。
爆弾のスクリプトを追加する
まずがクリックされたときに「クローン爆弾のx座標」を「0」にしておきます。
そして、クローンされたときに「クローン爆弾のx座標」変数にx座標を格納します。
もし車の向きが90度ではない(つまり、車が回転している最中)なら、スコアを「1」増やして、爆弾が跳ね返るようにします。
跳ね返る動きは「定義」にまとめました。
(スクリプトエリアの「その他」→「ブロックを作る」で、新しい定義を作ることが出来ます。)
ここで定義した「跳ね返る」の動きは、もし爆弾が車より右側にあるなら左上に飛んでいき、もし爆弾が車より左側にあるなら右上に飛んでいき、画面の端まで行ったら消える、というものです。
もしよかったら、Scratchのサイトで実際に遊んでみてください。
さて、次回は第3ステージを作ります。いよいよエンディングです!

前回の記事はこちらです

コメント