我对这个简单的雨滴阵列程序有疑问

问题描述 投票:0回答:0

我正在尝试编写代码,以便每次

yPositions
数组
[0]
达到
400
的值时,程序将:

  • 创建一个新的雨滴数组,它以随机的
    xPositions
    值落下
  • yPositions[0]
    的值重置为0

我也在努力做到这一点,以便在创建其他数组时,它们的

yPositions
值不会重置为“0”。我希望他们在
yPositions
数组值达到 400 时进行独立重置。

现在唯一发生的事情是:

  • 第一滴雨滴落下并将
    yPositions
    的值从 400 重置为 0,每次重置时
    xPositions
    都会给出一个新的随机值。
  • 第二个雨滴数组是用它们自己的随机
    xPositions
    值创建的,但它不会创建第三个和第四个,等等。我总是只有2个随机
    xPositions
    值的雨滴。
var xPositions = [random(0, 400)]; //Randomized X position of raindrop
var yPositions = [0]; // Y position of raindrop

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); // for loop to create raindrop arrays

        if (yPositions[0] > 405) { //this is the part I am stuck on
            xPositions[0] = (random(0, 400));
            xPositions.push(random(0, 400));
            yPositions[0] = 0;
            yPositions.push(i);

        }
        yPositions[i] += 5;
    }

};

我尝试使用 if 语句进行试验,但没有发现任何错误。

javascript arrays animation push
© www.soinside.com 2019 - 2024. All rights reserved.