目前,我有两个字符串,每个字符串中有5个字。每个人在某个时候都将类似于某种语言。我不需要的是屏幕上无限的单词,每种语言我只想要50个。如何为字符串中的单词设置最大值50?
这是当前代码:
int alpha = 1, delta = 1;
String [] wordsArabic = {
"Chicken", "Mc", "Nugget", "Kippetje", "Lekker"
};
String [] wordsDutch = {
"Vluchten", "Taal", "Nederlands", "Syrie", "Land"
};
void setup(){
size( 1080, 1080);
smooth();
filter( THRESHOLD, 0.9);
ellipseMode(CENTER);
}
void draw(){
color(0, 0, 0);
if (alpha == 0 || alpha == 255) { delta = -delta; }
alpha += delta;
fill( random(255), random(255), random(255), alpha);
noStroke();
textSize(random(10,30));
text(wordsArabic [int (random(5))], random(height), random(width));
text(wordsDutch [int (random(5))], random(height), random(width));
}
答案 0 :(得分:2)
如果每种语言只需要50种语言,则应在代码中使用for
循环。
此循环将代码重复执行50次:
for (int i = 0; i < 50; i++) {
// pick one word from the language and display it
}
您需要了解,处理过程会反复调用draw()方法。
由于您是随机选择单词,并且Processing反复调用draw()
方法,因此无法在for
中放入draw()
循环,否则它将无休止地调用for
循环并无限期重复。我个人会将draw()
中的所有代码放入setup()
中。
另一个组织代码的建议是,应将其编写为一种显示单词的方法。 这是我的工作布局:
void displayWords(String[] language) {
for (int i = 0; i < 50; i++) {
// pick one word from the language and display it
}
}
然后,您可以轻松地致电displayWords(wordsArabic)
或displayWords(wordsDutch)
。
我希望这能回答您的问题,祝您好运!