內容來自RyiSnow視頻講解
這一節實現的是背景音樂和音效的播放。
在這里,背景音樂和音效所用的音頻文件均為wav格式文件。Java SDK默認支持的格式有限,默認不支持mp3格式音樂。
背景音樂、拾取鑰匙、拾取靴子、開門分別有對應的音頻文件。
作者的實現
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,就是類似超級瑪麗游戲中,左上角、右上角顯示的倒計時,獲得的分數,擁有的道具物品之類的功能。代碼參考之前文章中的鏈接。