0

请先按(按住)箭头键,然后按非箭头键来测试以下代码。至少在 Mac 中,您会看到箭头键不断地应用它们的功能,而其他键则没有。有谁知道如何使其他键在处理中连续应用(即不是通过改变 OSX 的功能)?

void setup(){}
void draw(){}

void keyPressed() {
  if (keyCode >= 36 && keyCode <= 40) { // keycodes for arrow keys
    println(frameCount + " arrow key activated: " + key);
  } 
  else {
    println(frameCount + " non-arrow key activated: " + key);
  }
}
4

1 回答 1

1

好吧,这是一种方法。但更像是一个黑客......因为它不处理系统的关键重复处理。但有效:)

boolean isPressed;
void setup(){}
void draw(){
  if (isPressed)
  println(frameCount + " non-arrow key activated: " + key);
}


void keyPressed() {
  if (keyCode >= 36 && keyCode <= 40) { // keycodes for arrow keys
    println(frameCount + " arrow key activated: " + key);
  } 
  else {
    isPressed = true;
  }
}

void keyReleased(){
  isPressed = false;
}
于 2013-05-12T02:08:09.333 回答