0
请帮助这个程序。对于可汗学院来说,使用阵列,循环和条件来下雨是一项挑战。我应该:Javascript:合并随机()开始
- 向阵列添加更多滴。
- 使它能够在落到最下方时使用条件码重新开始回落。
- 制作一组颜色,以便每一滴都是不同的颜色。
- 使其他东西下雨,如雪花(使用更多的形状命令)或头像(使用图像命令)。
- 使其成为当用户单击时,一个新的drop被添加到数组中。
- 在程序的开始处使用for循环和random()函数初始化数组。
我已经做了#1,#2,#5,我可以做#3 & 4 ...但我不能为我的生活弄清楚如何做到#6。我知道它与一个随机(0,400)命令有关,但我不确定如何使其工作。
下面是代码:
// need random x value
// need random start times
// position of the rain at top
var xPositions = [1, 50, 100, 150, 200, 250, 300, 350, 399];
var yPositions = [0, 0, 0, 0, 0, 0, 0, 0, 0];
// attempt at defining a variable for random start
// don't know what to do with it after this
var raindrops = [random(0, 400)];
// rain falling from top to bottom at specific intervals
var draw = function() {
background(113, 218, 237);
for (var i = 0; i < xPositions.length; i++) {
noStroke();
fill(21, 143, 173);
ellipse(xPositions[i], yPositions[i], 10, 10);
if (yPositions[i] < 390) {
yPositions[i] += 5; //makes rain fall down
} else {
yPositions[i] = 0;
}
}
for (var j = 0; j < xPositions.length; j++) {
noStroke();
fill(21, 143, 173);
ellipse(xPositions[j] + 25, yPositions[j]-50, 10, 10);
}
for (var k = 0; k < xPositions.length; k++) {
noStroke();
fill(21, 143, 173);
ellipse(xPositions[k], yPositions[k]-100, 10, 10);
}
};
// click to add more raindrops
var mouseClicked = function() {
xPositions.push(mouseX);
yPositions.push(mouseY);
};
我很欣赏你的输入。