我需要编写打字程序来创建“三行”文本编辑器。如果长度输入的字符串长于该行(40个字符),它将自动移至下一行。
到目前为止,这是我的代码:
String word = "";
void setup() {
size(1000, 600);
textSize(26);
fill(0);
}
void draw() {
background(255);
text(word, 0, 0, width, height);
}
void keyPressed() {
int lineBreak = word.length();
if(lineBreak > 39) {
word = word + "\n";
}
else {
word = word + key;
}
}
无论何时运行问题,字符串长度都停止在40个字符处,但不会移到下一行。
text()
不支持换行符。您必须将每一行存储到单独的字符串中。例如,使用text()
存储文本行。
创建一个字符串数组,用于存储完成的行。当前行仍存储在StringList
:
StringList
达到行数限制后,将行添加到列表中并开始新行:
word
定义StringList lines = new StringList();
,画出一个循环中的线。线的垂直位置由if(lineBreak > 39) {
lines.append(word);
word = "";
}
计算,其中lineheight
是线的索引:
lineheight * (i + 1)
请参见示例:
i