1

如何通过按退格键从文本字符串中删除字符。这就是我到目前为止所得到的。它只删除最后一个字符。

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);
4

1 回答 1

1

那是因为BACKSPACE is notCODED,所以 whiletyping.length()小于5并且你按下BACKSPACE你满足两个条件破坏的东西。当它达到5它时,它只满足第二个条件:if (key == BACKSPACE)所以它可以工作,将它恢复到小于5所以它不会再次工作......

作为测试尝试:if (key != '\n' && key != CODED && key != BACKSPACE) 但我认为您可能想要switch (key)完成这项工作。

此外,您最好在 draw() 中使用void keyPressed()orkeyReleased()keyTyped() 而不是字段。keyPressed或者你需要自己处理重复键......

于 2012-12-20T06:37:13.180 回答