在处理中使用空格键进行简单切换

问题描述 投票:0回答:1

我正在尝试做到这一点,所以当我按下空格键时,该框会变成黑色。然后,当我再次单击它时,它又变回白色。等等。此刻,当我按空格键时,该框只是闪烁而不会停止。这是我的代码:

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个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.