We are about to switch to a new forum software. Until then we have removed the registration on this forum.
hi people! i wrote a simple code just to write something live in the sketch window. i want to finish this string and start a new one by pressing return, because i want then to write with another font. i tried a few things, but i cannot make more than one string at the same time and writing directly in the sketch window.. i dont know why..
here is the code: PFont myFont; //myFont als PFont deklarieren String typedWord = "";//String deklarieren
void setup() {
size(displayWidth, displayHeight);//grösse des Sketchfensters
myFont = createFont("CENTURY.ttf", 100);//kreiere PFont als myFont
//myFont = createFont("AAA.ttf", 100);//kreiere PFont als myFont
textFont(myFont); //benutze myFont als TextFont
fill(255);//Füllfarbe der Schrift
}
void draw() {
background(0);//Hintergrundfarbe
text(typedWord, displayWidth/16, displayHeight/16*3);//Stringwahl und Anfangsposition
}
void keyPressed() {
println(key); //schreibe den aktuellst getippten Buchstaben in die Konsole
if (key!=1) {
if (keyCode == BACKSPACE) { //Anweisung um einen Buchstaben aus dem String löschen zu können
if (typedWord.length() > 0) {
typedWord = typedWord.substring(0, typedWord.length()-1); //erases the last character
}
}
else { //Anweisung den getippten Buchstaben zum String zu addieren
typedWord += key;
}
}
}
Answers
das ist nicht ganz einfach...
in theory you need to put the finished word (after you hit return) into a list (array or ArrayList) and display that list - but each line with another font....
here is version with single variables of text for each line
hi chris! ja das habe ich befürchtet, aber dein code hilft mir vorerst schon mal sehr viel weiter!
wenn du objects / classes kennst, kannst du später damit arbeiten
jetzt kannst du dir ArrayList verwenden: beide sind parallel, eine für den String, eine für den Font