我正在制作一个有点盲目的游戏,但是我无法让图像更改为NeutralIMG。我对使用JavaScript的经验不足,但如果有人能告诉我我搞砸了什么,我会非常感激。
var Celeb = document.getElementById("Celebrity");
var Sound = new Audio ("Punch1.wav");
var Punched = false;
var HitCount = 0;
var PunchIMG = "Justin2.png";
var NeutralIMG = "Justin1.png";
Celeb.addEventListener("click", Punch);
function Punch() {
Punched = true;
if (Punched = true) {
Sound.play();
Celeb.src = PunchIMG;
HitCount ++
}
else {
Celeb.src = NeutralIMG;
}
document.getElementById("Score").innerHTML = "SCORE: " + HitCount;
}
答案 0 :(得分:0)
这有一些问题。在punch()
功能中。您将Punched
设置为true,然后测试是否为真。所以它总是会执行第一个块,而不会执行else块。
最重要的是,您的if
语句仅使用单个等号再次分配真实。即Punched = true
如果测试平等,则应为Punched === true
。
看起来你正试图设置点击后发生的事情然后恢复到原始状态。你最好的选择可能只是使用某种计时器功能。因此,从整个代码和Punched
函数中删除Punch()
变量,只需逐步播放声音,更改图片,在点击时递增计数器,然后等待几秒钟并设置图像回来了。等待,谷歌setTimeout()。