javascript - 当变量改变时改变功能上的声音效果

标签 javascript html audio soundeffect

我正在为JS课编写作业,老师希望我们在射击时发出武器声音,但在弹药不足时停止发出声音。
当枪射击时,我有声音效果,但是当用0弹药单击时,它会继续发出声音。

我尝试执行else {}函数,但这会破坏浏览器中的“弹药显示”,并且声音仍会继续播放。

HTML:

<input type="button" value="Heal" class="shoot" onclick="shoot();">
<audio id="heal" src="sound/heal.mp3">

JS:显示弹药,最多可发射6张枪,储备6张枪,每次发射时递减计数。
function shoot() {
  if (currentAmmo > 0) {
    currentAmmo--;
  }
  var shoot = document.getElementById("shoot");
  shoot.play();
  updatescreen();

  function updatescreen() {
    document.getElementById("total-ammo").innerHTML = "Bullets in Gun:</br>" + totalAmmo;
    document.getElementById("current-ammo").innerHTML = "Reload Ammo:</br>" + currentAmmo;
  }

最佳答案

您只需要在if条件内移动play命令。

  if (currentAmmo > 0) {
    currentAmmo--;
  var shoot = document.getElementById("shoot");
  shoot.play();
  }

  updatescreen();

关于javascript - 当变量改变时改变功能上的声音效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55913341/

相关文章:

python - 如何使用(最好)python获取USB吉他接口(interface)数据

javascript - 简单 for 循环与 >> 运算符之间的区别

javascript - 从 Javascript 调用方法

html - CSS 'top' 属性无效

javascript - 尝试使用 REST API 调用生成的 javascript 数组填充下拉框时出错

php - 不同国家、州、地理位置的动态下拉列表?

javascript - 组合框项目不可选择

javascript - Grunt/Webpack/Babel 中的路径错误

audio - SoX WAV声音播放

java - 使用 Java 从 mysql 数据库检索音频文件