■Javaゲームでの効果音使用

Javaゲームで、キャラをグラフィック化できたら、次はかっこいいBGMや効果音が入れたくなります。効果音ファイルを公開しているページを載せています。また、Javaは"AU"ファイルしか使用できませんので、"WAV"ファイルを変換するソフトが必要です。

↑元ネタファイルはこちら

STEP.1 サウンドデータ領域を準備します。

 名前は後でわかりやすい様につけましょう。
 JBuilder等を使ってると自動入力が利くので名前はある程度長くてもいいと思います。

 AudioClip ShootSound,UfoSound,Explosion,Explosion2,UfoExp;

ShootSound 自機のビーム発射音
UfoSound UFOの出てくる音
Explosion 自機の爆発音
Explosion2 インベータの爆発音
UfoExp UFOの爆発音


STEP.2 用意したサウンドデータ領域にAUファイルを読み込みます。

 int()の中にデータ読み込み処理を入れてもいいのですが、ここでも、dataload()から
 AUファイルを読み込みます。dataload()はint()から読み出します。

 public void dataload() {
  ShootSound=getAudioClip(getCodeBase(),"sound/shoot.au");
  UfoSound=getAudioClip(getCodeBase(),"sound/ufo.au");
  Explosion=getAudioClip(getCodeBase(),"sound/explosion1.au");
  Explosion2=getAudioClip(getCodeBase(),"sound/explosion2.au");
  UfoExp=getAudioClip(getCodeBase(),"sound/ufoexp.au");
 }



STEP3.音を鳴らす。

 後は、効果音の必要な部分で先ほどのサウンドデータ領域を読み出すことで効果音を鳴らせます。

 例えば、ビーム発射音は、次のように鳴らしています。

if(flag_missile == true){
   for(int l=0; l < NUMBER_OF_MYMISSILE; l++){
     if(mymissile[l].getLife() == 0){
         int mis_x = raket.getPointX();
         int mis_y = raket.getPointY();
         mymissile[l].setPointX(mis_x+(int)(WIDTH_OF_RAKET*0.5)+1);
         mymissile[l].setPointY(mis_y);
         mymissile[l].setLife(1);
         flag_missile = false;
         ShootSound.play(); break;
     }
   }
}


Copyright (C) 錬金術師Masa
更新:2005年05月08日
http://www.katch.ne.jp/~mh524-1997/