教授为我们提供了一些视频游戏代码,我们不得不对其进行更改/添加。 一直试图添加音频作为背景音乐,玩家与敌人碰撞,玩家死亡,与宝藏碰撞以及开枪。 我拥有所有声音文件,但是很难集成它们。我不确定将它们放在哪里或我的代码是否正确,但这是我到目前为止所拥有的。
运行游戏时,我无法播放任何声音效果或背景音乐。
char
当我运行代码时,游戏就会运行,但是一旦我执行了应该具有声音效果的操作(与敌人碰撞,捡到宝藏),游戏就会冻结,并且我会收到错误消息,这些错误消息会在我的控制台上发送出去:
private MediaPlayer backgroundMusicPlayer;
private String playerCollideEnemyMusicFile = "player_collide_enemy.wav";
private String playerDyingMusicFile = "player_die.wav";
private String playerCollideTreasureMusicFile = "treasure.wav";
private String playerFiringMusicFile = "player_firing.wav";
private void playSound(String musicFile) {
String musicFileUrl = this.getClass().getResource("/resources/" + musicFile).toExternalForm();
AudioClip audioClip = new AudioClip(musicFileUrl);
audioClip.play();
}
private void playEnemySound() {
playSound(playerCollideEnemyMusicFile);
}
private void playDyingSound() {
playSound(playerDyingMusicFile);
}
private void playTreasureSound() {
playSound(playerCollideTreasureMusicFile);
}
} else if (r.getFill().equals(Color.GREEN)) { // GREEN = treasure/chest
Treasure t = getTreasure(r);
if (!t.isOpen()) {
score.set(score.get() + 10); // increase the score
chestCount--; // decrease our global chest count to track end of level
t.openNow(); // open the chest so it can't be opened twice
}
playTreasureSound();