以下の内容はhttps://nowokay.hatenablog.com/entry/2025/09/18/005724より取得しました。


Java 25のSoundClipでゲームに効果音をつける

Java 25ではSoundClipで手軽に音声ファイルの再生ができるようになっています。
SoundClip (Java SE 25 & JDK 25)

で、ゲームに効果音をつけてみると、なんかそれっぽくなりました。

効果音はここで見つけたものを使っています。
https://pixabay.com/sound-effects/

効果音をつけるときの注意点としてはこんな感じ。

  • WAVファイルはsigned 16bit PCMに。24bitは非対応
  • play()は再生中は無視されるので、効果音をならすときはstop()と play()をセットで
  • BGMはloop()で。再生中に呼び出すと最初から再生になるので開始時だけに呼び出す

というのを踏まえてChatGPTに上記ゲームを作らせたプロンプトがこちら。

ちゃんと遊べる効果音付きのインベーダーゲームをJavaのSwingで作って。

効果音はJava 25で導入されたjavax.sound.SoundClipを使ってコンパイルできるように。次の4つのメソッドが使える。
static SoundClip createSoundClip(File) throws IOException
void play() // 効果音をならす。すでにそのSoundClipが再生中だと無視されるので念のためstop()で止めておくこと。
void stop() // 再生を止める。
void loop() // BGMをならす。繰り返される。再生中に呼び出すと最初から再生が始まる。

自機ミサイル発射: beam.wav
自機爆発:dead.wav
敵爆発:explosion.wav
BGM:ambient.wav

敵ミサイル発射では効果音なし。
BGMはゲーム中のみ。スタート前やゲームオーバー時には流れない。

背景に星を上から下に流して。#888888でゆっくり、#555555でもっとゆっくり。スタート前やゲームオーバー時にも流して。

SoundClip導入の背景事情などの解説はこちらに書いています。
Java 25新機能まとめ #OpenJDK - Qiita




以上の内容はhttps://nowokay.hatenablog.com/entry/2025/09/18/005724より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14