【问题标题】:simple toggle with spacebar in processing在处理中使用空格键进行简单切换
【发布时间】:2020-06-21 21:30:10
【问题描述】:

我正在努力做到这一点,所以当我按下空格键时,框会变黑。然后,当我再次单击它时,它会变回白色。等等。目前,当我按空格键时,该框会闪烁并且不会停止。这是我的代码:

boolean x = false;


void setup() {
  size(500, 500);
  surface.setResizable(true);
  rect(50, 50, 400, 400);
}

void draw() {
  background(#FFFFFF);

  if (key == ' ') {
    if(x == false){
      x = true;
    }else {
      x = false;
    }
  }

  if(x == false){
    fill(#FFFFFF);
    rect(50, 50, 400, 400);
  }else{
    fill(#000000);
    rect(50, 50, 400, 400);
  }

}

【问题讨论】:

    标签: java key processing toggle spacebars


    【解决方案1】:

    要在处理中处理事件,您需要使用事件处理程序回调。 (例如https://processing.org/reference/keyPressed_.html)每次调用draw() 函数时,您的代码都会运行if (key == ' ') 块。相比之下,keyPressed 方法在您每次按键时只运行一次。它仍然需要一个 if 块来找出是哪个键。

    在这种情况下:

    void keyPressed() {
      if (key == ' ') {
        x = !x;
      }
    }
    

    x = !x; 在没有 if 语句的情况下切换 x。从draw 中删除您的if (key == ' ') 块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      相关资源
      最近更新 更多