我正在尝试使用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的链接。
答案 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();
}
};