我製作了一款名爲Blitz的遊戲技巧。其功能是你在6秒內擊中你的對手3次。javascript:我的聲音只播放一次?
我在技巧中添加了聲音文件,因此您可以聽到提示,因此您不必讀取文本日誌。我遇到的問題是,當我擊中對手2次或更多次時,聲音文件只播放一次,而不是兩次。
例如:This Works - Hit,Miss,Hit。 例如:這不起作用 - 打,打(沒有聲音),小姐(聲音)
爲什麼它跳過或不玩?
// BLITZ SKILL
document.getElementById("blitz").addEventListener('click', function() {
atbReset();
DB();
RET();
window.setTimeout(function() { blitzskill() }, 1000);
window.setTimeout(function() { blitzskill() }, 2000);
window.setTimeout(function() { blitzskill() }, 3000);
});
function blitzskill(){
var criticalRoll = Math.floor(Math.random() * 100 + 1);
var precisionRoll = Math.floor(Math.random() * cs.precision + 1);
var npcParryRoll = Math.floor(Math.random() * ds.parry + 1);
var damage = Math.floor(Math.random() * cs.strength * 1);
if (character.energy <= 4) {
addMessage("Not enough energy!")
return;
}
if (precisionRoll < npcParryRoll) {
addMessage("The Dragon evaded your attack!");
character.energy -= 5;
miss.play(); // PLAY MISS SOUND
}
else if (damage - ds.armor <= 0) {
character.energy -= 5;
addMessage("Your opponents armor withstood your attack!");
armor.play(); // PLAY MISS/ARMOR SOUND
}
else if (cs.critical >= criticalRoll) {
damage *= 2;
damage -= ds.armor;
dragon.hp -= damage;
character.energy -= 5;
document.getElementById("npchp").innerHTML = dragon.hp;
addMessage("Critical Strike! Dragon suffers " + damage + " hp!")
swoosh.play(); // PLAY HIT SOUND
}
else {
dragon.hp -= damage;
damage -= ds.armor;
document.getElementById("npchp").innerHTML = dragon.hp;
addMessage("You hit the dragon for " + damage + " hp!");
character.energy -= 5;
swoosh.play(); // PLAY HIT SOUND
}
document.getElementById("energy").innerHTML = character.energy;
};
你在哪裏得到旋風 - 你可以設置一個小提琴無你的遊戲邏輯代碼 – megawac
swoosh就是我用來擊打對手的聲音文件。我將setTimeOut加到了每個2.5秒,並修復了它,所以它與已經在第二次播放的聲音文件有關。 – Shawn
嗯..那裏有'setTimeout'在那裏做什麼?點擊時,你真的必須打三次「blitzskill」嗎? – aIKid