我再次访问你的丰富知识:P
我正在使用jQuery开发一个小而简单的游戏(就像jQuery的练习一样)。我试图阻止一个错误似乎使运动在第一步中口吃。复制这个只是按住一个方向。它口吃一次然后顺利移动。
我使用的代码是:
$(document).keydown(function(e) {
switch (e.which) {
case 37:
$('#move').animate({
left: '-=2'
},1); //left arrow key
break;
case 38:
$('#move').stop().animate({
top: '-=20'
}).animate({
top: '+=20'
}); //up arrow key (jump)
break;
case 39:
$('#move').animate({
left: '+=2'
},1); //right arrow key
break;
}
});
这可能是一个非常愚蠢的东西,我错过了一个属性,但我无法弄明白。
编辑:我在各种浏览器中尝试过但仍然遇到同样的问题。编辑2:我把它放在jsfiddle上虽然它与我自己的浏览器不一样,但它应该给你一个想法:P http://jsfiddle.net/urAGB/4/
答案 0 :(得分:0)
heres my solution。我只更改了javascript。
它实际上很难避免这样的问题,这解释了群发代码。这是一个演练:
通过更改bufferTimeout
变量,我可以轻松地调整所谓的延迟,直到检测到按键为止。您可以随意将所有代码放入函数中,甚至可以将其放在外部javascript文件中以方便使用。
如果它解决了您的问题,请享受:)