我正试图使用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();
}
};