我从我找到的教程中提取了以下示例,因为它包含我正在寻找的大部分基本功能。我的麻烦是这样的:我希望 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() 函数文档