Processing 处理如何知道用户同时按下多个键?

Processing 处理如何知道用户同时按下多个键?,processing,keycode,ctrl,Processing,Keycode,Ctrl,我不知道处理如何知道用户同时按下了Ctrl和某个字符 只能同时使用多个按钮。可能吗 例如:(Ctrl+r)。您必须首先检查是否按下了Ctrl。如果已按下,则将布尔值另存为true。下次按下按钮时,检查按钮是否为所需按钮(即“r”),以及布尔值是否为真。如果两者都是真的,那么处理知道 下面是一个演示: boolean isCtrlPressed = false; boolean isRPressed = false; void draw() { background(0); fill(25

我不知道处理如何知道用户同时按下了
Ctrl
和某个字符

只能同时使用多个按钮。可能吗


例如:(
Ctrl+r
)。

您必须首先检查是否按下了Ctrl。如果已按下,则将布尔值另存为true。下次按下按钮时,检查按钮是否为所需按钮(即“r”),以及布尔值是否为真。如果两者都是真的,那么处理知道

下面是一个演示:

boolean isCtrlPressed = false;
boolean isRPressed = false;
void draw() {
  background(0);
  fill(255);
  if (isCtrlPressed) background(255, 0, 0);
  if (isRPressed) background(0, 255, 0);
  if (isCtrlPressed && isRPressed) background(255, 255, 0);
}
void keyPressed() {
  if (keyCode == CONTROL && isCtrlPressed == false) isCtrlPressed = true;
  if (char(keyCode) == 'R') isRPressed = true;

}
void keyReleased() {
  if (keyCode == CONTROL) isCtrlPressed = false;
  if (char(keyCode) == 'R') isRPressed = false;
}

您还可以重写keyPressed(KeyEvent)方法并使用KeyEvent.isControlDown()方法:


我知道这是一个非常古老的提要,但我有一些东西可以帮助每个人多次按键。这是针对Processing的Python模式,但我确信它可以以某种方式在其他模式下实现

import string

#string.printable is a pre-made string of all printable characters (you can make your own)
keys = {}
for c in string.printable:
    #set each key to False in the keys dictionary
    keys[c] = False

def keyPressed():
    #If key is pressed, set key in keys to True
    keys[key] = True

def keyReleased():
    #If key is released, set key in keys to False
    keys[key] = False

然后使用多个if语句,您可以检查字典中的键是否被按下

if keys['w'] == True:
   #Do something
if keys['s'] == True:
   #Do something
if keys['a'] == True:
   #Do something
if keys['d'] == True:
   #Do something
if keys[' '] == True:
   #Do something
等等。
希望这有帮助

我不知道你在问什么。
if keys['w'] == True:
   #Do something
if keys['s'] == True:
   #Do something
if keys['a'] == True:
   #Do something
if keys['d'] == True:
   #Do something
if keys[' '] == True:
   #Do something