Javascript 在键盘输入中更新变量一次

Javascript 在键盘输入中更新变量一次,javascript,Javascript,我需要有关键盘事件的帮助。所以我想做的是,当你按下w和2键时,我想把一个添加到水里,而不是一个添加到木头里(另一种选择是,当按下w键而不按下2键时,它会将一个添加到木头里。但是我只想木头和水更新一次,而不是按下键时添加一个。 这里有一些代码 var-wood=0; var-water=0; var woodOut=document.getElementById('wood'); var waterOut=document.getElementById('water'); window.addE

我需要有关键盘事件的帮助。所以我想做的是,当你按下w和2键时,我想把一个添加到水里,而不是一个添加到木头里(另一种选择是,当按下w键而不按下2键时,它会将一个添加到木头里。但是我只想木头和水更新一次,而不是按下键时添加一个。 这里有一些代码

var-wood=0;
var-water=0;
var woodOut=document.getElementById('wood');
var waterOut=document.getElementById('water');
window.addEventListener(“向下键”,键);
函数键(){
var x=event.which | | event.keyCode;
如果(x==87){
木材=木材+1;
woodOut.innerHTML=wood;
}
如果(x==87&&x==50){
水=水+1;
waterOut.innerHTML=水;
}
}

0


0

事实上,如果我理解了你想要什么,那就很容易了。你只需创建一个带有两个属性的Map对象,这两个属性是你的关键代码,并将它们设置为false。当同时按下W和2时,你就可以归档你想要的内容了

查看以下代码,然后尝试先按w,然后按w+2:

var-wood=0;
var-water=0;
var woodOut=document.getElementById('wood');
var waterOut=document.getElementById('water');
var-map={87:false,50:false,};
window.addEventListener(“keydown”,keydown);
window.addEventListener(“keyup”,keyup);
功能键控(e){
如果(如地图中的键码){
map[e.keyCode]=true;
如果(映射[87]){
木材=木材+1;
woodOut.innerHTML=wood;
} 
如果(映射[50]&映射[87]){
水=水+1;
waterOut.innerHTML=水;
}
}
}
功能键控(e){
如果(如地图中的键码){
map[e.keyCode]=false;
}
}

0


0

您需要跟踪上一次按下的键(
w+1
将为
木材添加,为
水添加
w+2
):

var-wood=0;
var-water=0;
var woodOut=document.getElementById('wood');
var waterOut=document.getElementById('water');
var上一个_键;
window.addEventListener(“向下键”,键);
函数键(){
var x=event.which | | event.keyCode;
如果(x==49&&U上一个键==87){
木材=木材+1;
woodOut.innerHTML=wood;
}
如果(x==50&&U上一个键==87){
水=水+1;
waterOut.innerHTML=水;
}
上一个_键=x;
}

0


0

如果您只想在按键时更新一次。 试试这个


你的第二个“如果”永远不会是真的,试着解释一下
window.addEventListener("keyup", key);