2016-05-06 4 views
2

Ich versuche, ein Zeichen gleichzeitig in der Verarbeitung anzuzeigen. Wenn ich zum Beispiel den Buchstaben "Q" eintippe, wie kann ich es so machen, dass wenn ich ein anderes Zeichen eintippe, es an der gleichen Stelle wie das vorhergehende Zeichen erscheint, aber das vorherige dabei löscht?Ein Zeichen nach dem anderen in Verarbeitung eingeben

letztlich versuche ich ein Programm zu machen, das gedrückte Taste auf verschiedenen Schriftarten zeigen würde; Aber als ich das versuchte, fügten die Charaktere einfach nacheinander hinzu.

Ab sofort gibt mir Zeichen in Folge:

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; 
    } 
} 

Wie ist es möglich, jederzeit zeigte nur ein Zeichen zu haben?

Antwort

1

Blick auf dieser Linie:

letters = letters + key; 

Hier sind Sie key zum letters Variable hinzufügen. Wenn also letters"ABC" und key'X' ist, dann wird letters nach dieser Zeile "ABCX" sein.

Wenn Sie nur die zuletzt gedrückte Taste anzeigen möchten, verwenden Sie einfach den Wert key direkt? Das ist genau das, was es beinhaltet:

void draw() { 
    background(0); 
    text(key, 25, 25); 
} 
Verwandte Themen