内容来自RyiSnow视频讲解
这一节实现的是背景音乐和音效的播放。
在这里,背景音乐和音效所用的音频文件均为wav格式文件。Java SDK默认支持的格式有限,默认不支持mp3格式音乐。
背景音乐、拾取钥匙、拾取靴子、开门分别有对应的音频文件。
作者的实现
java
public class Sound {
Clip clip;
URL soundURL[] = new URL[30];
public Sound() {
soundURL[0] = getClass().getResource("/sound/BlueBoyAdventure.wav");
soundURL[1] = getClass().getResource("/sound/coin.wav");
soundURL[2] = getClass().getResource("/sound/powerup.wav");
soundURL[3] = getClass().getResource("/sound/unlock.wav");
soundURL[4] = getClass().getResource("/sound/fanfare.wav");
}
public void setFile(int i) {
try {
AudioInputStream ais = AudioSystem.getAudioInputStream(soundURL[i]);
clip = AudioSystem.getClip();
clip.open(ais);
} catch (Exception e) {
e.printStackTrace();
}
}
public void play() {
clip.start();
}
public void loop() {
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
public void stop() {
clip.stop();
}
}
上述代码在调用的时候,可以正常播放音乐和音效,但是会产生一个bug,不妨找一下是什么bug。下一节将解决这个bug。
下一节将实现first half(是第一半的意思吗,不是,前半局的意思)的最后一个功能,On-Screen UI,就是类似超级玛丽游戏中,左上角、右上角显示的倒计时,获得的分数,拥有的道具物品之类的功能。代码参考之前文章中的链接。