Hey,
My code draws a text line by line to the screen in different sizes, but the lines seem to start at a different x position according to the text size. Also the first line begins at a different x position. Could somebody explain me why this is happening and how I could change that?
PFont font;
String [] lines;
int index = 0;
int xvalue;
void setup() {
size(600, 400);
font = createFont("UtopiaStd-Regular", 20);
String everything;
everything = "Hab’ ich mich nicht an den ganz historischen Energien der Umwelt, die uns so ausgiebig zu lachen machten, so wenig begrenzt sie waren, selbst ergetzt? Hab’ ich nicht – o was gibt der Einzelne, daß er über sich schimpfen darf! Ich will, lieber Freund, ich verspreche dir’s ich will mich stärken, will nicht mehr ein bißchen Elend, das uns das Einverständnis vorlegt, wiederholen wie ich’s immer getan habe; ";
lines = splitTokens(everything, ",.?!;:");
textFont(font);
frameRate(2);
}
void draw() {
background(0);
int y=7;
int x = 10;
for (int index=0; index<lines.length; index++) {
if(random(100) > 50){
xvalue=20;
}
else {
xvalue = 40;
}
textSize(xvalue);
float a1= textAscent() + textDescent();
y+=a1;
text(lines[index], x, y);
}
noLoop();
}
void keyPressed() {
redraw();
}
Yes this explains why the first word starts at a different position!
Thank you
Do you know how I could say, that all lines with text size = 40 start for example at x= -10? To also compensate the optical difference of the starting point?
Then your question isn’t necessary anymore. [all lines with text size = 40 start for example at x= -10?]
Your Question
in the part of the if-clause where you say xvalue = 40 add in your code: x= -10
Are you in a class with Sophie?
Warm regards,
Chrisir
Full Code:
The full code uses trim() AND x= -10 which doesn’t make sense…
PFont font;
String [] lines;
int index = 0;
int xvalue;
void setup() {
size(600, 400);
font = createFont("UtopiaStd-Regular", 20);
String everything;
everything = "Hab’ ich mich nicht an den ganz historischen Energien der Umwelt, die uns so ausgiebig zu lachen machten, so wenig begrenzt sie waren, selbst ergetzt? "
+"Hab’ ich nicht – o was gibt der Einzelne, daß er über sich schimpfen darf! Ich will, lieber Freund, ich verspreche dir’s ich will mich stärken, will nicht mehr ein bißchen Elend, das uns das Einverständnis vorlegt, "
+"wiederholen wie ich’s immer getan habe; ";
lines = splitTokens(everything, ",.?!;:");
textFont(font);
frameRate(2);
}
void draw() {
background(0);
int y=7;
int x = 10;
for (int index=0; index<lines.length; index++) {
if (random(100) > 50) {
xvalue=20;
} else {
xvalue = 40;
x=-10;
}
textSize(xvalue);
float a1= textAscent() + textDescent();
y+=a1;
text(lines[index].trim(), x, y);
}
noLoop();
}
void keyPressed() {
redraw();
}
//