ここを通るのも簡単にはいかぬぞ。この門番の話を聞いてみよう。変わったリンゴがあるのう。このリンゴの木に惑わされてはならぬぞ!受付カウンターまでやってきた。ここですることと言えば......わかるであろう。外国旅行に行ったときと同じじゃよ。この宇宙港の中を歩き回って、離陸に必要な『フライトナンバー』を見つけるのじゃ!!フライトナンバーを見つけたら、この宇宙船で、いざ出発じゃ!さて、出発じゃが......。ブラックホールじゃ!!さて、この後どうなるかは......ここから先は君の目で確かめるのじゃ!!健闘を祈っておるぞ!※この記事に使われている画像の二次使用を禁じます。※このゲームの著作権は、バンダイ(現セガバンダイ)にあります==========※次の更新は、新連載『師匠のVB.NETどたばた塾』の予定です。先輩に引きずり込まれて始まったこの講座もいよいよ最後だと思うとさびしいですよね。引きずり込んだんじゃないってー。!~タイトルとゲームオーバー画面を入れよう!さて。Titleサブプロシージャです!はい、正解。ここに書いていくわけだけど、書いていくのは次の処理です。・タイトル画面を表示する・スペースキーが押されたら、変数funcにFUNC_PLAYINITを入れて、サブプロシージャPlayInitに処理をうつすふむふむ。FUNC_PLAYINITを消しておこう。しないと、すぐにサブプロシージャPlayInitに進んじゃうからね。!さて、それが済んだところで、いよいよ処理を作っていこうか。タイトルのハンドル用の変数の定義ね。''※このほかにも必要な変数があればこの下に追加してくださいの行と、''メイン関数の行との間に、次の一行を入れてね。続いて、MaterialLoadサブプロシージャに、次の一行を追加。▲追加した後のMaterialLoad(赤枠が追加した部分)そして、Titleサブプロシージャに、次のコードを書いてね。プログラムの内容は、さっき話した通り。DX_PAD_INPUT_Mは、スペースキーを表してるよ。それじゃ続いて、ゲームオーバー処理も作っていこう。ゲームオーバー画面のハンドル用変数の定義からね。これは、''※このほかにも必要な変数があればこの下に追加してくださいの行と、''メイン関数の行との間に書いてね。ゲームオーバー画面を読み込む処理。こちらは、MaterialLoadサブプロシージャに。追加後のMaterialLoadサブプロシージャ(赤枠が追加した部分そして、肝心のゲームオーバーの処理。これは、GameOverサブプロシージャに書いてね。コードはほとんど、タイトル画面と同じ。違うのは、表示させてるのがゲームオーバー画面ということと、変数funcにFUNC_TITLEを入れてるところだけかな。''※このほかにも必要な変数があればこの下に追加してくださいの行と、''メイン関数の行との間に、次の一行を書いてね。PlayInitサブプロシージャに次の一行を追加。続いて、AtariJikiTamaToTekiサブプロシージャにこれを追加。これは、自機の弾が敵に当たった時に、スコアを加算する処理だよ。追加した後のAtariJikiTamaToTekiサブプロシージャ(赤枠が追加した部分)そして最後に、スコアを表示する処理を作ろう!処理はサブプロシージャにして、タイトル画面、実際のゲーム中、そしてゲームオーバーのどこからでも見れるようにするよ。このサブプロシージャを呼び出すための次のコードを、Title、GameMain、GameOverの各プロシージャに追加するよ。スコアが表示されてます!~BGMと効果音を入れよう!さて。次はBGMと効果音だけど......素材の著作権の問題で、素材のファイルは掲載しません。適当なBGMや効果音を、インターネットからダウンロードしてきて用意してね。ここでは、BGMのファイル名を、「bgm.mp3」「shot.mp3」「bomb.mp3」として進めていくよ。それぞれ、BGM、ショットの発射音、そして敵の爆発音の素材だよ。はーいまず、DXライブラリでは、画像と同じように、ロードして、そのハンドルを使って再生したりします。いうことで、まず音声ファイルのハンドルを入れる変数の定義からね。''※このほかにも必要な変数があればこの下に追加してくださいの行と、''メイン関数の行との間に、次のコードを書いてね。MaterialLoadサブプロシージャに追加してね。音声ファイルを読み込むには、dxLoadSoundMem関数を使うんだよ。追加した後のMaterialLoadサブプロシージャ(赤枠が追加した部分)続いて、BGMを演奏するサブプロシージャ、BGMの演奏を終了するサブプロシージャ、そして効果音を鳴らすサブプロシージャを作ろう。サブプロシージャを呼び出すようにすれば、プログラムがすっきりするからね。BGMを演奏するBGMPlayサブプロシージャ、BGMの演奏を終了するBGMStopサブプロシージャ、効果音を鳴らすSEPlayサブプロシージャさて、ここで新しくdxPlaySoundMem関数と、dxStopSoundMem関数が出てきたね。これについても説明しちゃおうか。dxPlaySoundMemは、指定したハンドルの音声ファイルを再生する関数、dxStopSoundMemは、指定したハンドルの音声ファイルの再生を止める関数だよ。それぞれ、このように書くんだ。再生モード)dxStopSoundMem(ハンドルの変数)この再生モードには、何を入れたらいいんですか?うん。ここに入れるのは、DX_PLAYTYPE_BACKとDX_PLAYTYPE_LOOPの二つ。ひとつ、DX_PLAYTYPE_NORMALというのもあるけど、これを使うと再生するたびに処理が止まっちゃうから、あまり使うことはないかな。前者を入れると、普通に一回だけ再生、後者を入れると、何度でもループ再生するよ。その場合、止めるのはdxStopSoundMem関数を使うの。