我一直在处理编码排版程序,我似乎无法按照我喜欢的方式使用输入键。这是我的代码:
String vtl = "";
float cursor;
int vtly = 20;
void setup(){
size(800, 200);
textSize(15);
stroke(0);
fill(0);
}
void draw(){
background(250);
cursor = textWidth(vtl);
line(cursor, vtly - 15, cursor, vtly);
text(vtl, 0, vtly);
}
void keyPressed(){
if(textWidth(vtl + key) == width){
vtly = vtly + 25;
}
if(key == BACKSPACE){
if(vtl.length() > 0){
vtl = vtl.substring(0, vtl.length() - 1);
}
}else if(textWidth(vtl + key) < width){
vtl = vtl + key;
}
if(key == ENTER){
vtly = vtly + 15;
vtl = "\n";
}
}
每当按下回车键,就会删除整个第一行。我该如何解决这个问题?
答案 0 :(得分:0)
看看这一行:
vtl = "\n";
此处您将vtl
设置为"\n"
,这会丢弃vtl
的旧值。如果您想在String
的末尾添加换行符,则必须将其添加到现有值中:
vtl = vtl + "\n";
可以缩短为:
vtl += "\n";
之后,您在文本的垂直位置方面遇到了其他问题,但这是一个单独的问题。