处理JS没有响应键盘输入

时间:2016-10-12 18:22:25

标签: javascript processing.js

我正在尝试使用Processing JS创建一个程序来绘制太空飞船,然后允许用户使用左箭头和右箭头来控制它以使z和z加速。我一直在使用keyIsPressed函数

keyIsPressed = function(){
    if(keyCode === 90){
        println("OK");
        ship.accelerate();
    }
};

但是当我按下z时,船只没有移动,println();没有任何内容被打印,因此它不能激活该功能。有谁知道如何解决这一问题?这是完整代码https://www.khanacademy.org/computer-programming/spin-off-of-project-asteroids-spaceship/4635808988463104的链接。

2 个答案:

答案 0 :(得分:0)

基本上,keyIsPressed是一个布尔值,当用户按下键盘上的任何按钮时为true,而当没有按下按键时为false。基本上,

var draw = function(){
    if (keyIsPressed && keyCode === 90){
        ship.accelerate();
    }
}

答案 1 :(得分:0)

keyIsPressed变量是一个boolean值,只要按下某个键就会true

如果你想要一个函数,你应该使用keyPressed()函数,不应该在draw()中指定它。它应该与draw()处于同一级别。

另外,您使用了ship.accerate(),这不是一个功能。你的意思可能是ship.accelerate()

将所有这些放在一起,看起来像这样:

draw= function() {
    background(161, 159, 159);

    ship.update();
    ship.display();
    println(ship.position.x);
};

keyPressed = function(){
    if(keyCode === 90){  
        ship.accelerate();
    }
};