当前位置: 首页 > 知识库问答 >
问题:

处理中非箭头键的连续按键功能

刁璞
2023-03-14

请先按(按住)箭头键,然后按非箭头键,测试以下代码。至少在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);
  }
}

共有1个答案

冉丰茂
2023-03-14

这是一种方法。但更像是黑客...因为它不处理系统的密钥重复处理。但有效:)

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;
}
 类似资料:
  • 问题内容: 如何检测何时按下箭头键之一?我用它来找出: 尽管它适用于所有其他键,但不适用于箭头键(可能是因为默认情况下浏览器应该在这些键上滚动)。 问题答案: 箭头键仅由触发,而不由触发。 关键代码为: left = 37 up = 38 right = 39 down = 40

  • 我试图模拟在rad grid控件(Telerik)的文本区域中按下左右箭头键。 我有一个特定于浏览器Firefox的错误,其中选项卡事件(修复了此部分)和箭头键将不起作用。所有其他浏览器工作正常。 因此,作为一种解决方法,我想使用JavaScript或jquery模拟箭头键。 下面是我使用包含的选项卡事件修复程序所做的工作。除此之外,我还检查按键代码37(这是左箭头键)是否被按下。此时,我想模拟文

  • 我正在使用Java Processing 3制作一个两人坦克游戏。下面是我的炮塔代码。目前我有炮塔的瞄准跟随鼠标在tDir中,我希望能够使用向上和向下箭头移动瞄准从0到90度向上和向下。 我该怎么做呢?多谢了。

  • 对于使用箭头键,首先必须存储它以分析它。这就是为什么我使用来存储它。但是当我尝试运行这段代码时,当我按下向上键时,它显示,当我按下回车键时,这个删除并退出程序,而不打印和

  • 对于示例代码,我用200个随机数字的序列替换了文本:在键盘上上下按压时,条形图会滚动,而屏幕的另一半应该显示每次按下R键时随机选择的200个数字中的一个,或者在按下H键时显示一个“你好”的文本。 在一些帮助下,我能够使我的数字正确地显示在屏幕上,但我不确定如何使这两个不同的按键交互工作,我需要在两者之间周旋:随机数和文本。 我试过这样做,但我似乎不能让它在文本部分起作用:

  • 问题内容: 您能帮我重构此代码: 请同时说明如何检查上/下箭头键。谢谢! 问题答案: