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

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

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

子どもでもわかるSCRATCH入門

27.インベーダーゲームを作ろう その9

[ 26.インベーダーゲームを作ろう その8 ] の続きです。
スコアを表示したり、ビーム発射音や爆発音を鳴らしました。

 

1. 定義ブロックとは

プログラミングをしていると同じような処理をすることがあります。
毎回、同じ事を書いていては効率が悪いですね。
そんな場合は定義ブロックを使います。

scratch 定義ブロックの使い方

その他カテゴリにあるブロックを作るで作成することができます。

 

ブロックを作るをクリックすると次のダイアログが表示されます。
ブロックの絵の中には、名前を入力します。

定義ブロックを使うために

OKを押すと、呼び出し用のブロックと呼び出し先のブロックが作成されます。
(オプションに関してはまた別の機会に説明します)

使い方は、呼び出し用のブロックを他のスクリプトと同様に使用します。
そのブロックを置いた場所で、呼び出し先に用意した処理が実行されます。

 

実際に定義ブロックを使った次の例を見て下さい。

画面が表示されない場合はここをクリック

 

定義ブロックを使っているスクリプト部分は次のようになってます。

定義ブロックを使って同じ処理をまとめる

xキーを押した時も、zキーを押した時も同じように四角を描くという定義ブロックを
使って呼び出しています。

 

 

2. 進攻音を鳴らそう

インベーダーゲームの特徴でもある敵が進むたびに鳴る音を入れます。

まず、4種類の音を Gobo の中に用意して下さい。
リミックスした人は次のように用意されています。

scratch ゲームに音を入れよう

Gobo の中には爆発音と、4つの進攻音を用意します。
進攻音の名前は step1 から step4 までにします。

 

4つの音を管理する為の変数を用意します。名前は音番号にします。

scratch 音を管理する為の変数を用意する

 

Gobo のスクリプトに定義ブロックを用意します。名前は進攻音にします。

scratch 定義ブロックを作って重複する処理をまとめる

定義ブロックを作る理由ですが、音を出すタイミングが2つあるからです。
敵が横に移動するときと、縦に移動する進攻のときです。
この2つの場所に音を出す仕組みが必要なので、定義ブロックを使って1つにまとめます。

 

Gobo のスクリプトを編集します。
並べるを受け取ったときの処理に手を入れます。

scratch カスタムブロックを使って処理をまとめる

音番号変数の内容を2から5までの間で変化させています。
2から始めているのは、1番目には爆発音が入っているからです。

 

それでは実行してみましょう。

画面が表示されない場合はここをクリック

 

この講座での音入れはここまでとします。
あとは自分の好きな音を入れてみて下さい。
タイトル表示の音やゲームオーバー時の音など入れると良い感じになると思います。

敵のビームによって防護壁が壊れる音や、敵が画面に出現する時(並べている最中)
に音があってもいいと思います。

 

次回に続きます。