今天我想知道如何一次检测到多个关键动作。例如,在这个代码示例中,我希望能够一次按下2个箭头键,以便球可以对角移动。
以下是代码:
echo $(ps -ef | grep image | awk '{print $3}')
如果你测试了上面的代码,你会发现你可以用箭头键移动一个小球。我想知道如何检测同时按下的多个箭头键。因此,如果我按下向下按钮和向右按钮,它将对角线移动到右下角。我该如何编码呢?一个例子会很棒!谢谢大家!
答案 0 :(得分:0)
这个的基本思想是你必须跟踪被按下的键,可能是在一个对象中,然后在它们被释放时将它们删除。
var keysDown = {};
$('body').keydown(function(event) {
keysDown[event.keyCode] = true;
}).keyup(function(event) {
keysDown[event.keyCode] = false;
});
然后,您可以在更改方向时引用这些键。
// This is easier if you switch the way you save direction
var directions = {
up: 38,
down: 40,
...
};
Ball.prototype.setDirection = function() {
var upPressed = keysDown[directions.up];
var downPressed = keysDown[directions.down];
...
if (upPressed) {
this.ySpeed = -5;
} else if (downPressed) {
this.ySpeed = 5;
}
if (leftPressed) {
...
};