Processing 在draw()函数中使文本保持静态

Processing 在draw()函数中使文本保持静态,processing,Processing,我从我找到的一个教程中提取了下面的示例,因为它包含了我正在寻找的大部分基本功能。我的问题是:我希望headline[]数组中的每个字符串都移动到窗口上(就像它已经移动过的那样),然后在退出之前停止。我希望字符串在数组中的下一个字符串移入时保持静态,而不是消失。。。最后也停止了。换句话说,当更多的字符串进入窗口时,我希望文本看起来像是堆叠在一起 代码如下: String[] headlines = { "Processing downloads break downloading record

我从我找到的一个教程中提取了下面的示例,因为它包含了我正在寻找的大部分基本功能。我的问题是:我希望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;
  }
}
String[]标题={
“处理下载打破下载记录。”,
“新的研究表明计算机编程可以降低胆固醇。”,
};
pfontf;
浮动x;
int指数=0;
无效设置(){
尺寸(400200);
f=createFont(“Arial”,16,真);
x=宽度;
}
作废提款(){
背景(255);
填充(0);
textFont(f,16);
文本对齐(左);
文本(标题[索引],x,180);
x=x-5.5;
float w=文本宽度(标题[索引]);
if(x<2){
x=宽度;
索引=(索引+1)%headlines.length;
}
}

据我所知,您希望写入屏幕的文本堆积起来,这意味着不会在每次运行draw()函数时重新绘制

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

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


您可能希望添加一个标记,以显示编写该文件所用的语言…尝试限制x值的更改,即如果(x>100)x=x-5.5,则