我正在使用JQuery构建一个文本游戏,玩家可以穿过各个房间逃离洞穴(是的,这个洞穴有房间,不要问)。他们将命令输入表单以在房间中导航。游戏逻辑就在那里并且正常工作,我只想在他们到达特定房间时播放歌曲。到目前为止,我可以使用HTML音频标签来播放剪辑,但这只会在页面加载时发生。
如果我想在.submit()事件期间播放音频,那么函数会是什么样子?
以下是我的HTML的样子:
<audio id="song" src="Photos/song.mp3">
</audio>
我的JS有点太长了,在这里发布所有内容而不会让所有人混淆(这是重复的,因为我吮吸JS)但基本的要点是我有一个函数改变currentRoom变量并根据什么更新文本目前的房间是。所以我认为函数看起来像这样:
const $song = $("#song");
function playSong() {
if (currentRoom = $r16) {
$song.play();
}
}
答案 0 :(得分:0)
我最终使用.keyup()函数,无法使.submit()函数起作用。这是我的变量和函数最终看起来像:
// Grab the audio html tag
const $song = $("#song");
// Tie the function to a keyup event
$(document).keyup(playSong);
// Function declaration
function playSong() {
// Keycode for the enter key
const keyCode = 13;
// If you hit enter and the current room changes to $r16
if (event.which === keyCode && currentRoom === $r16) {
// Hit the music
$song[0].play();
}
}