处理JS不响应键盘输入



我正试图使用Processing JS制作一个程序,该程序绘制了一艘太空船,然后允许用户使用左和右箭头来控制它,以旋转它和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.

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

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

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();
    }
};

对于函数是keyPressed,而不是keyIsPressed。

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

最新更新