从 draw() 函数中使文本成为静态文本



我从我找到的教程中提取了以下示例,因为它包含我正在寻找的大部分基本功能。我的麻烦是这样的:我希望 headline[] 数组中的每个字符串都移动到窗口上(因为它已经这样做了),然后在退出之前停止。我希望字符串在数组中的下一个字符串移入时保持静态,而不是消失......之前也最终停止了。换句话说,我希望文本看起来好像在更多字符串进入窗口时彼此堆叠。

这是代码:

String[] headlines = {
  "Processing downloads break downloading record.", 
  "New study shows computer programming lowers cholesterol.",
};
PFont f; 
float x; 
int index = 0;
void setup() {
  size(400, 200);
  f = createFont("Arial", 16, true);
  x = width;
}
void draw() {
  background(255);
  fill(0);
  textFont(f, 16);
  textAlign (LEFT);

  text(headlines[index], x, 180); 
  x = x - 5.5;
  float w = textWidth(headlines[index]); 

  if (x < 2) {
    x = width;
    index = (index + 1) % headlines.length;
  }
}

正如我理解你的问题,你希望写入屏幕的文本堆积起来,这意味着每次运行 draw() 函数时都不会重新绘制它们。

将 background() 调用从 draw() 函数移动到 setup() 函数。

Background()

将重绘背景,并从上次运行 draw() 时清除文本。如果你想保留在 draw() 的最后一轮中绘制到画布上的内容,只需将 background() 的调用移动到 setup() 函数即可。

处理 background() 函数文档

最新更新