如何通过按后退空格键从文本字符串中删除字符。 这是我到目前为止所得到的。它只删除最后一个字符。
if (keyPressed) {
if (key != '\n' && key != CODED) {
if (typing.length() < 5){
typing = typing + key;
}
}
if (key == BACKSPACE) {
if (typing.length() > 0) {
typing = typing.substring(0, typing.length()-1);
}
}
}
text(typing, 345, 372);
答案 0 :(得分:1)
那是因为BACKSPACE
is not CODED
,所以当typing.length()
小于5
而你按BACKSPACE
时,你会遇到两种情况。当它达到5
时,它只会满足第二个条件:if (key == BACKSPACE)
所以它可以正常工作,将其恢复到小于5
,这样它就不会再次起作用了......
作为测试尝试:if (key != '\n' && key != CODED && key != BACKSPACE)
但我认为您可能需要switch (key)
来完成这项工作。
另外,您最好使用void keyPressed()
或keyReleased()
或keyTyped()
在draw()中,而不是keyPressed
字段。或者你需要自己处理密钥重复......