这是我需要完成的课程的简单雨滴程序。我想告诉程序是否有
25
yPositions
和 xPositions
的数组以停止使用 if
语句推送雨滴数组。
var xPositions = [random(0, 400)]; //Raindrop randomized X position
var yPositions = [0]; Raindrop Y position
draw = function() {
background(204, 247, 255);
noStroke();
fill(0, 200, 255);
for (var i = 0; i < xPositions.length; i++) {
ellipse(xPositions[i], yPositions[i], 10, 10); //raindrop loop
if (yPositions[i] > 405) { //Duplicates the raindrops each time a raindrop hits a Y position of 405
yPositions[i] = -10;
xPositions[i] = random(0, 400);
yPositions.push(i);
xPositions.push(i);
yPositions[i] += 5;
}
if xPositions.length === 25 {
this is where i want to tell the program to stop pushing both xPositions
and yPositions if there are 25 arrays* /
}
yPositions[i] += 5;
}
};
好吧,我并没有真正尝试任何具体的事情,因为我真的不知道需要做什么。我是编码的新手。
根据您的描述,您似乎想添加一个 if 语句以停止将雨滴数组推送到 xPositions 和 yPositions 数组,一旦它们达到 25 的长度。这是添加了 if 语句的代码的更新版本:
var xPositions = [random(0, 400)]; //Raindrop randomized X position
var yPositions = [0]; //Raindrop Y position
var numRaindrops = 1; //Counter for the number of raindrops
draw = function() {
background(204, 247, 255);
noStroke();
fill(0, 200, 255);
for (var i = 0; i < xPositions.length; i++) {
ellipse(xPositions[i], yPositions[i], 10, 10); //raindrop loop
if (yPositions[i] > 405) { //Duplicates the raindrops each time a raindrop hits a Y position of 405
yPositions[i] = -10;
xPositions[i] = random(0, 400);
}
yPositions[i] += 5;
}
if (numRaindrops < 25) {
yPositions.push(0);
xPositions.push(random(0, 400));
numRaindrops++;
}
};
我添加了一个新变量 numRaindrops 来跟踪已推送到数组的雨滴数量。在 draw 函数中,我添加了一个 if 语句,仅在 numRaindrops 小于 25 时才将新雨滴推送到数组。一旦 numRaindrops 达到 25,则不会向数组添加新雨滴。