我想在Javascript上做一个雨滴效果
var canvas = document.getElementById("mycanvas");
var ctx = canvas.getContext("2d");
function Drop(x,y,larg,alt){
this.x=x;
this.y=y;
this.larg=larg;
this.alt=alt;
}
var a = new Drop(canvas.width/4,0,2,25);
function draw(){
ctx.clearRect(0, 0, canvas.width, canvas.height)
ctx.fillStyle="blue";
ctx.fillRect(a.x,a.y,a.larg,a.alt)
a.y++;
}
setInterval(draw, 5);
使用这段代码,我可以只做一次删除,这样我就可以让这个"var a“成为一个数组。如何在代码中声明此数组才能工作?
发布于 2018-06-05 08:10:10
var canvas = document.getElementById("mycanvas");
var ctx = canvas.getContext("2d");
function Drop(x,y,larg,alt){
this.x=x;
this.y=y;
this.larg=larg;
this.alt=alt;
}
var a = [];
a = push(new Drop(canvas.width/4,0,2,25));
function draw(){
ctx.clearRect(0, 0, canvas.width, canvas.height)
ctx.fillStyle="blue";
ctx.fillRect(a.x,a.y,a.larg,a.alt)
a.y++;
}
setInterval(draw, 5);
或者使用es6类:
var canvas = document.getElementById("mycanvas");
var ctx = canvas.getContext("2d");
class Drop {
constructor (x,y,larg,alt) => {
this.x=x;
this.y=y;
this.larg=larg;
this.alt=alt;
}
}
var a = [new Drop(canvas.width/4,0,2,25)];
function draw(){
ctx.clearRect(0, 0, canvas.width, canvas.height)
ctx.fillStyle="blue";
ctx.fillRect(a.x,a.y,a.larg,a.alt)
a.y++;
}
setInterval(draw, 5);
https://stackoverflow.com/questions/50690287
复制相似问题