初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

子どもでもわかる Scratch 入門

26.インベーダーゲームを作ろう その8

 

[ 25.インベーダーゲームを作ろう その7 ] の続きです。

スタンプを使って防護壁を隠す仕組みとタイトルを入れました。

 

 

敵が防護壁まで来たときは?

敵が防護壁のある位置まで進攻してきたらどうなるでしょう?
次の画像を見てください。

敵が防護壁まで進攻してきたとき

重なってます。
敵が防護壁の上を普通に移動します。
このときオリジナルのゲームでは、重なった部分の壁は消えて無くなります。

ちょっと話は変わりますが…
この処理をするべきか悩みました。
学習サンプルとして細かいところまで対応しなくてもいいかなぁ…
と思ったのです。
ですが、面白そうなので入れることにしました。

 

 

防護壁を隠す仕組みは、スタンプを使います。
使い方はビームの爆発模様と同じです。

防護壁を隠す絵は、敵 Gobo のコスチュームの中に用意します。
敵と同じサイズで黒い四角を作り、4番目に入れます。
リミックスした人は用意されているものを使いましょう。

敵のコスチュームの中に防護壁を隠す絵を用意する

コスチューム名は black にします。

 

敵のコードを編集します。
移動処理の一番下に追加します。

防護壁まで来たらスタンプを押す

敵がy座標-68より小さい位置にいるとき、コスチュームを黒い四角に変更して
スタンプしています。

 

実行して確認しましょう。
敵が防護壁まで降りてきたら、重なった部分は消えます。

敵と重なった防護壁は消える

もし、動作をしっかりと確認したいのならば、黒い四角を赤くしてテストしてみて下さい。
どのタイミングでスタンプされるのかが、はっきりと分かります。

 

 

スコアを入れよう

ゲームには欠かせないスコアを表示しましょう。

まず変数スコアを作ります。
すべてのスプライト用に設定しましょう。

スコアという変数を作る

チェックは入れたままにします。
ステージに表示されたものをスコアの表示として使います。
場所はステージの左上に配置しましょう。

スコアはステージの左上に配置する

 

スコアの処理を作ります。
敵を倒したら 100 点、全滅させたら 2001 点が入るようにします。
2001 点にした理由は、全滅させた回数が分かるからです。

Gobo のコードを変更します。

スコアの初期化と加算を追加する

変更内容です。

1. スコア変数の初期化です。
2. 敵を倒したときの得点です。
3. 全滅させたときのボーナスです。

 

 

音を鳴らしてみよう

スクラッチでは音も簡単に鳴らせます。
試しに鳴らしてみましょう。

スプライトにコスチュームがあるように音もあります。
のタブをクリックしてみましょう。

音を鳴らしてみる

左側には音の一覧が表示されます。
使い方はコスチュームエディタと似ています。

謎な模様は音の波形です。
その波形の左下に再生ボタンがあるのでクリックしてみましょう。
音が鳴ります。

 

音を追加したいときは、ページ左下のところから行います。

音を追加する方法

ライブラリから選ぶやり方が簡単ですね。
PCにあるマイクから録音できますし
PCからアップロードすることもできます。

もちろん、バックパックを使ってコピーすることもできます。

 

 

プログラムから音を鳴らそう

ゲーム中の音をプログラムから鳴らします。
リミックスした人はすでに用意してあるものを使います。

自機から発射されるビームの音を入れます。
beam のコードを変更します。

ビームの音shootを鳴らす

カテゴリから、Shootの音を鳴らすを移動します。
音を自分で用意した人は、その名前を指定しましょう。

実行して確認してみましょう。
ビームを発射したとき音が鳴ればOKです。

 

自機がやられたときの音を入れます。
explodeの音を鳴らすGameOverを受け取ったときの下に入れます。

自機がやられたときの音を入れる

 

敵がやられたときの音を入れます。
Alien Hitの音を鳴らす爆発を送るの下に入れます。

敵がやられたときの音を入れる

 

これでビームの発射音、自機と敵の爆発音が入りました。
実行してみましょう。

画面が表示されないときはここをクリック

 

次回に続きます。