我有一個對象上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