【问题标题】:Make each word within a list appear and then disappear in Processing使列表中的每个单词在处理中出现然后消失
【发布时间】: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


【解决方案1】:

Stack Overflow 并不是针对一般的“我该怎么做”类型的问题而设计的。这是针对特定的“我尝试了 X,预期 Y,但得到了 Z”类型的问题。但我会尽量提供一般意义上的帮助。

您需要break your problem down into smaller steps,然后一次采取这些步骤。例如,您能否编写一个仅显示单个硬编码字符串的简单示例程序?现在你能做到让字符串在 1 秒后消失吗?然后尝试添加出现在第一个字符串之后的第二个硬编码字符串。

然后,如果您遇到困难,您可以发布 MCVE 以及特定的技术问题。祝你好运。

提示:您可能可以使用millis() 函数或frameCount 变量。 Processing reference 是您的朋友。但同样,从简单开始,逐步逐步推进!

【讨论】:

    猜你喜欢
    • 2015-10-31
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 2015-10-05
    • 2020-07-30
    相关资源
    最近更新 更多