【发布时间】:2018-04-16 18:04:36
【问题描述】:
我对 Processing 完全陌生,非常热情,但在第一个障碍时真的被难住了。我真的很感激这肯定是非常基本的东西,但如果有人能帮我继续前进,我会很高兴。
我正在寻找一种方法来输入一个长长的单词列表,然后逐个显示,每个单词出现 1 秒钟然后消失。
我找到了一种打印整个句子并让单词单独消失的方法,并尝试了下面的方法,似乎效果更好一些。问题是我不知道如何在循环中添加更多单词,它似乎只考虑一个反对另一个。我可以采取完全不同的方法吗?
非常感谢,这就是我的目标
String Carol = "Carol";
String Charlotte = "Charlotte";
String Ellen = "Ellen";
String displayed ="";
int interval = 1000; // s
int time;
PFont font;
void setup() {
size(500, 500);
font = createFont("arial", 44);
background(0);
displayed = Carol;
time = millis();
textFont(font);
fill(255);
}
void draw() {
background(0);
text(displayed, width/2 - textWidth(displayed)/2, height/2);
if (millis() - interval > time) {
displayed = displayed.equals(Carol)? Charlotte:Carol;
time = millis();
【问题讨论】:
-
什么循环?使用 String ArrayList 对象来保存您的所有单词或短语。您可以手动(硬编码)、从文件、从数据库,甚至从网站……随您喜欢的任何地方填写该列表。在一个单独的线程中,遍历列表并在每次迭代时调用您的单词 draw 方法(保持线程持续时间并延迟到下一个单词)。有很多方法可以做这种事情。使用列表:
List<String> list = new ArrayList<>();并添加到列表中:list.add("Carol"); list.add("Charlotte"); list.add("Ellen");... etc。 -
你有想过这个问题吗?
标签: java arrays text processing slideshow