Я пытаюсь получить несколько капель, чтобы появиться, но я не могу их забрать, если я не буду жестко программировать каждый из них, потому что холст продолжает обновляться с помощью функции drawover, я думал использовать массив, но Я не знаю, как это применить.Как сделать несколько капель без кодирования everysingle один в функции производителя?
var ALLOB = {
speed: 3,
recwidth: 5,
recheight: 5,
minvalue: 100,
maxvalue: 900,
lifetime: 10,
xpos: 10,
ypos: 10
};
function rand(min, max) {
"use strict";
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var canvas = document.querySelector("#make");
var ctx = canvas.getContext("2d");
function setCanvasWidth() {
"use strict";
ctx.canvas.width = window.innerWidth;
ctx.canvas.height = window.innerHeight;
}
setCanvasWidth();
function paintover() {
'use strict';
ctx.fillStyle = "rgba(0, 0, 0, 0.12)";
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
function fall() {
'use strict';
ALLOB.ypos = ALLOB.ypos + ALLOB.speed;
if (ALLOB.ypos > canvas.height - ALLOB.lifetime) {
ALLOB.ypos = 10;
}
}
function drawdrop(x, y) {
'use strict';
ctx.fillStyle = "#1cbc61";
ctx.fillRect(ALLOB.xpos + x, ALLOB.ypos + y, ALLOB.recwidth, ALLOB.recheight);
}
function maker() {
"use strict";
drawdrop(400, 10);
}
function animate() {
"use strict";
paintover();
maker();
fall();
}
setInterval(animate, 30);
canvas {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -1;
}
<canvas id="make"></canvas>
ли вы пытаетесь использовать массив объектов ALLOB каждый с различными XPOS/YPos по крайней мере? – gotomanners
Я сделал, но он создает случайные точки на холсте. Я смотрел кодовое перо кем-то, чтобы сделать это учебным проектом, но я не понимаю, как он работал над массивом. это ссылка на codepen http://codepen.io/jalabkhan/pen/bgNavG – user2777173
См. ответы ниже. В основном ваша функция-производитель должна генерировать капли дождя и хранить их в массиве. – gotomanners