无法在Processing 3.0.1 Java模式下获取要注册的退格键
我以前从来没有遇到过这样的问题,可能只是在某个地方犯了一个非常简单的错误,但我一生都无法识别除字母数字字符和符号以外的任何东西。退格/删除未注册。我尝试过使用key变量和key代码,但似乎没有任何效果 我尝试过的事情:无法在Processing 3.0.1 Java模式下获取要注册的退格键,java,keyboard,character,processing,backspace,Java,Keyboard,Character,Processing,Backspace,我以前从来没有遇到过这样的问题,可能只是在某个地方犯了一个非常简单的错误,但我一生都无法识别除字母数字字符和符号以外的任何东西。退格/删除未注册。我尝试过使用key变量和key代码,但似乎没有任何效果 我尝试过的事情: key == BACKSPACE int(key) == 8 keyCode == DELETE 什么都没起作用。当我尝试println(key) 这是我的密码。这只是一个片段,程序的其余部分由 其他几种方法,包括draw()循环。我已经把问题缩小到这个街区了 void key
key == BACKSPACE
int(key) == 8
keyCode == DELETE
什么都没起作用。当我尝试println(key)
这是我的密码。这只是一个片段,程序的其余部分由
其他几种方法,包括draw()循环。我已经把问题缩小到这个街区了
void keyTyped() {
if (key == '`' || key == '~') {
consoleShow = !consoleShow; //toggle boolean
command = ""; //clear command string
} else if (keyCode == DELETE) { // --NOT WORKING--
command = command.substring(0, command.length()-1);
} else if (consoleShow == true && key != CODED) { // "key != CODED" isn't working either. (CAPS-LOCK is recognized as a char)
command += key; //concatenate character to end of command string
}
println(key);
}
问题在于,您没有一个
draw()
循环来保持程序的活动状态并保持keylisteners的活动状态。因此,只需在程序的开头放置voiddraw(){}
,它就会工作
如果您只想使用backspace键,尽管您可以用更少的代码实现这一点:
void draw() {}
void keyTyped() {
if (key == BACKSPACE) println("You typed the key backspace :)");
}
我修好了。
keyTyped()
不可靠。当替换为keyPressed()
时,一切正常。抱歉,这只是一个片段,有一个绘图循环,它从头到尾都在正确循环。