HOME技術レッツ!スクラッチレッツ!スクラッチ (10) インベーダーゲームをつくろう ― 敵を倒せるようにしよう!

レッツ!スクラッチ (10) インベーダーゲームをつくろう ― 敵を倒せるようにしよう!

今回でほぼ、ゲームとして遊べるプログラムが完成します。
今回は、ロケットがうった、たまが敵に当たったら敵を消す、という処理をつくります。

たまが敵に当たった時の処理

たまが敵に当たったかどうかの判定は、Ballスプライトで設定します。
Ballスプライトをクリックします。

「クローンされたとき」ブロックの、「もしy座標>170なら」ブロックの下に、「もし なら」ブロックを入れます。

「もし なら」の穴に「Ghostに触れた」ブロックを入れます。

「(メッセージ)を送る」ブロックをその中に入れて、「あたり判定」という新しいメッセージをつくります。

「たまの存在を0にする」ブロックをその下にくっつけます。

「このクローンを削除する」ブロックをつけます。

これで、発射したたまが、敵にあたったら、「あたり判定」というメッセージを送り、たまを消します。

あたり判定を受け取る

たまが当たったら消す、などの処理をするのはGhostスクリプトになるので、あたり判定を受け取った後の処理もGhostスクリプトでつくります。

スプライトペインから、「Ghost」をクリックしてください。

「あたり判定を受け取ったとき」ブロックを空白の位置におきます。

「このクローンを削除する」ブロックをくっつけます。

これで、たまが敵にあたったら、敵が消えるようになります。

でも、これだけだと一回敵を倒したら、それ以降敵が出てこなくなってしまいます。
そこで、敵が消えたら、新しい敵を表示するようにします。

新たな敵を出現させる

敵を倒したら、別の敵を出現させるためには、メッセージを送ります。

「あたり判定を受け取ったとき」ブロックの「このクローンを削除する」ブロックの上に、「(メッセージ)を送る」ブロックをくっつけて、新しいメッセージとして、「敵の出現」というメッセージをつくります。

「敵の出現を受け取ったとき」ブロックを空白の部分に置きます。

「自分自身のクローンを作る」ブロックをその下にくっつけます。

これで、敵を倒すと別の敵が表示されるようになります。

今回はここまでです。
これでほとんどゲームとしての動きはプログラミングできました。
でも、まだゲームとしての面白みが足りないですよね?
そうです、敵を倒したら点が入らなければ面白くありません。
次回は、敵を倒したら点数が入ったり、ある点数を越えたら敵のスピードが速くなる、といったゲームを面白くする工夫をしていきます。
あと少しで完成ですよ~!

「レッツ!スクラッチ」コンテンツリスト

関連記事

レッツ!スクラッチ (8) インベーダーゲームをつくろう ― 敵を表示して動かす

インベーダーゲーム、ついに敵の登場です。 まずは、敵の画像を選ぶところからです。 右下のスプライトペインから、「スプライトを選ぶ」アイコンにマウスカーソルを持っていき、虫めがねアイコンをクリックします…続きを読む

レッツ!スクラッチ (1) プログラミングの心得

「レッツ!スクラッチ」では、ビジュアルプログラミング言語「スクラッチ(Scratch)」を使って、わたしが実際につくったプログラムを紹介してくコーナーです。 プログラミングに興味を持つきっかけとして、…続きを読む

レッツ!スクラッチ (15) インベーダーゲームをつくろう ― アイテムをとってパワーアップさせよう!

さて、ゲームにとって欠かせないのは、パワーアップです。 アイテムをとってプレイヤーがパワーアップすることで、より敵を倒しやすくする、というものです。 今回は、一定数の敵を倒すと、アイテムが降ってきて、…続きを読む

レッツ!スクラッチ (11) インベーダーゲームをつくろう ― 点数をつけよう!

さあ、これまででロケットからたまを発射して、敵を倒す、という仕組みができました。敵が自分の陣地まで入ってきたらゲームオーバー、という処理も入れています。 さらにゲームらしくするためには、スコアをつけま…続きを読む

レッツ!スクラッチ (4) インベーダーゲームをつくろう ― ゲームを設計しよう

おまたせしました! 「レッツ!スクラッチ」第4回目は、いよいよゲームをつくっていきます。 その中でも、今回はインベーダーゲームをつくります。 ゲームを設計しよう! まずはどんなゲームにするのか、企画を…続きを読む

レッツ!スクラッチ (9) インベーダーゲームをつくろう ― ゲームオーバーの処理をつくろう!

前回は敵が左右に動き、プレイヤーに迫ってくるところまでをつくりました。 このままだと敵が画面の一番下にたどり着いて左右に行ったり来たりすることになります。 今回は、敵がプレイヤーの位置まで下がってきた…続きを読む

レッツ!スクラッチ (3) 基本画面の説明

「レッツ!スクラッチ」の3回目は、基本画面の説明です。 基本画面 A — メニュー B — タブ C — ブロックパレット D — スクリプトエリア E…続きを読む

レッツ!スクラッチ (13) インベーダーゲームをつくろう ― 爆発させよう!

このインベーダーゲームでは、たまをうって敵に当たったときに点数が入ったり、敵が自分の陣地まで来たときにゲームオーバーになったりする処理を入れてきましたが、いずれももう一味ほしいと思いませんか? そう、…続きを読む

レッツ!スクラッチ (6) インベーダーゲームをつくろう ― プレイヤーを左右に動かそう

いよいよ、プレイヤーを動かせるようにしていきます。 キーボードの右矢印キーを押したら右へ、左矢印キーを押したら左に動くようにしましょう。 「x座標を0、y座標を-150にする」ブロックの下に、「ずっと…続きを読む

レッツ!スクラッチ (12) インベーダーゲームをつくろう ― ゲームの難易度をあげよう!

点数もつくようになったので、これでほぼゲームとして完成しました。 しかし、このままでは物足りないですよね? まずはゲームが単調すぎて、かんたんです。 慣れてしまえばあっという間につまらなくなってしまう…続きを読む