【问题标题】:Processing JS not responding to keyboard input处理 JS 不响应键盘输入
【发布时间】:2016-10-12 18:22:25
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: javascript processing.js


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢,我不知道我是怎么错过的。
      猜你喜欢
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2010-09-28
      • 1970-01-01
      • 2017-04-11
      相关资源
      最近更新 更多