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 は が ではないCODEDため、 whiletyping.length()が よりも小さく5、 を押すBACKSPACEと、両方の条件が壊れてしまいます。到達5すると、2 番目の条件のみが満たされます。if (key == BACKSPACE)したがって、機能し、それ未満に戻すと、5再び機能しなくなります...

試してみてください:しかし、私はあなたが仕事をしif (key != '\n' && key != CODED && key != BACKSPACE) たいと思うかもしれません.switch (key)

また、draw() では、フィールドの 代わりにvoid keyPressed()orを使用することをお勧めします。または、キーの繰り返しを自分で処理する必要があります...keyReleased()keyTyped()keyPressed

于 2012-12-20T06:37:13.180 に答える