2016-05-06 8 views
2

処理中に一度に1文字ずつ表示しようとしています。たとえば「Q」という文字を入力すると、別の文字を入力すると前の文字と同じ場所に表示されますが、前の文字が削除されるようにするにはどうすればよいですか?処理中に一度に1文字ずつ入力する

私は別のフォントで押されたキーを表示するプログラムを作成しようとしています。しかし私がこれを試みたとき、文字は連続して追加され続けるだけです。今のよう

、これは私に連続して文字を与える:

String letters = ""; 

void setup() { 
    size(100, 100); 
    stroke(255); 
    fill(0); 
    textSize(16); 
} 

void draw() { 
    background(204); 
    text(letters, 0, 50); 
} 

void keyPressed() { 
    if (key == BACKSPACE) { 
    if (letters.length() > 0) { 
     letters = letters.substring(0, letters.length()-1); 
    } 
    } else if (textWidth(letters+key) < width) { 
    letters = letters + key; 
    } 
} 

それはどのように一つだけの文字がすべての回であったことは可能でしょうか?この行で

答えて

1

ルック:ここ

letters = letters + key; 

あなたはletters変数にkeyを追加しています。したがって、letters"ABC"であり、key'X'である場合、lettersはこの行の実行後に"ABCX"になります。

最後に押されたキーを表示するだけの場合は、keyの値を直接使用しないでください。それは正確にそれが保持しているものです:

void draw() { 
    background(0); 
    text(key, 25, 25); 
} 
関連する問題