正在处理-三行文本编辑器并移至下一行?

问题描述 投票:1回答:1

我需要编写打字程序来创建“三行”文本编辑器。如果长度输入的字符串长于该行(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个字符处,但不会移到下一行。

processing
1个回答
0
投票

text()不支持换行符。您必须将每一行存储到单独的字符串中。例如,使用text()存储文本行。

创建一个字符串数组,用于存储完成的行。当前行仍存储在StringList

StringList

达到行数限制后,将行添加到列表中并开始新行:

word

定义StringList lines = new StringList(); ,画出一个循环中的线。线的垂直位置由if(lineBreak > 39) { lines.append(word); word = ""; } 计算,其中lineheight是线的索引:

lineheight * (i + 1)

请参见示例:

i
© www.soinside.com 2019 - 2024. All rights reserved.