我有一个对象上canvas
,我想用键盘事件移动不更新,KEYDOWN按下左侧的KEYUP
我的事件函数如下
function onKeyDown(evt) {
if (evt.keyCode == 40) { downDown = true;}
if (evt.keyCode == 39) { rightDown = true;}
if (evt.keyCode == 38) { upDown = true;}
if (evt.keyCode == 37) { leftDown = true;}
}
和我onKeyUp
功能除与false
作为值相同
然后附上它作为
$(document).keydown(onKeyDown);
$(document).keyup(onKeyUp);
我有叫我的init内,intv = setInterval(draw, 10);
与下面的语句,除了-X方向(左下)
if (rightDown) { x += dx;}
if (upDown) { y -= dy;}
if (downDown) { y += dy;}
if (leftDown) {x -= dx;}
工作一切良好,平局功能。这样我就可以将物体向上,向下和向下移动。当按下左键时,对象继续向左移动。我的条件语句是否设置不正确?
完整的演示是在http://jsfiddle.net/avSvu/
你能张贴演示?也许在http://jsfiddle.net/ – Soumya 2011-02-10 19:39:27
@ Soumya92 http://jsfiddle.net/avSvu/ – phwd 2011-02-10 20:00:01
愚蠢的小演示,我使用两个变量,不知道它是否有帮助...(http:// www。 jsfiddle.net/bradchristie/jL2u2/1/) – 2011-02-10 20:08:07