[英]How to properly randomize items on this loop?
在这个程序中,雨水在循环中落下。 当雨滴落在地面上时,它又从顶部开始。 每次程序初始化时都会创建一个随机颜色和随机雨滴位置。 但是,当它们回到画布顶部时,我无法弄清楚如何使每个雨滴的位置和颜色随机。
var xPositions = []; var yPositions = []; for (var count = 0; count < 16; count++) { fill(random(0, 255), random(0, 255), random(0, 255)); xPositions.push(random(0, 400)); yPositions.push(random(0, 400)); } draw = function() { background(204, 247, 255); for (var i = 0; i < xPositions.length; i++) { noStroke(); ellipse(xPositions[i], yPositions[i], 10, 10); yPositions[i] += 4; if (yPositions[i] > 400) { yPositions[i] = 0; } } }; var mouseClicked = function() { xPositions.push(mouseX); yPositions.push(mouseY); };
你已经有了答案,因为你得到了
if (yPositions[i] > 400) { yPositions[i] = 0; }
健康)状况。 只需在那里添加类似的东西
xPositions[i] = random(0,400);
var xPositions = [];
var yPositions = [];
var color = [];
for (var count = 0; count < 16; count++) {
color.push(random(0, 255), random(0, 255), random(0, 255));
xPositions.push(random(0, 400));
yPositions.push(random(0, 400));
}
draw = function() {
background(204, 247, 255);
for (var i = 0; i < xPositions.length; i++) {
noStroke();
fill(var[i]);
ellipse(xPositions[i], yPositions[i], 10, 10);
yPositions[i] += 4;
if (yPositions[i] > 400) {
yPositions[i] = 0;
xPositions[i] = random(0, 400);
var[i] = (random(0, 255), random(0, 255), random(0, 255));
}
}
};
var mouseClicked = function() {
xPositions.push(mouseX);
yPositions.push(mouseY);
};
我建议将 x、y 和颜色变量放在一个对象中,这样您就不必使用 3 个数组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.