当前位置 : 主页 > 网络编程 > JavaScript >

粒子随机运动

来源:互联网 收集:自由互联 发布时间:2021-06-28
hmtl css * {margin:0;}canvas {background:#cccccc;margin:0 auto;display:block;} js window.onload = function() { let canvas = document.querySelector("#lizi"); let cobj = canvas.getContext("2d"); let x = 500; let y = 10; canvas.onmousemove = f
hmtl
 
css
* {
	margin:0;
}
canvas {
	background:#cccccc;
	margin:0 auto;
	display:block;
}
js
window.onload = function() {
    let canvas = document.querySelector("#lizi");
    let cobj = canvas.getContext("2d");
    let x = 500;
    let y = 10;
    canvas.onmousemove = function(e) {
        x = e.offsetX
        y = e.offsetY;
    }

    class lizi {
        constructor(canvas, cobj) {
            this.canvas = canvas;
            this.cobj = cobj;
            this.r = 10 * Math.random();
            this.x = x;
            this.y = y;
            this.speedX = 6 * Math.random() - 2;
            this.speedY = -5;
            this.g = 0.3;
            this.color = `rgb(${parseInt(255*Math.random())},${parseInt(255*Math.random())},${parseInt(255*Math.random())})`
        }
        draw() {
            this.cobj.save();
            this.cobj.beginPath();
            this.cobj.translate(this.x, this.y);
            this.cobj.arc(0, 0, this.r, 0, Math.PI * 2); //建路径 // Math.PI*2 == 2π    // 0,Math.PI*2   从0到2π
            this.cobj.fillStyle = this.color;
            this.cobj.fill();
            this.cobj.restore();
        }
        updata() {
            this.x += this.speedX;
            this.speedY += this.g;
            this.y += this.speedY;
        }
    }



    let arr = [];
    let t = setInterval(function() {
        cobj.clearRect(0, 0, 1000, 1000);
        let liziobj = new lizi(canvas, cobj);
        arr.push(liziobj);
        for (let i = 0; i < arr.length; i++) {
            arr[i].draw();
            arr[i].updata();
        }
        if (arr.length >= 200) {
            arr.shift();
        }
    }, 50)
}
上一篇:银行卡号空格
下一篇:微信小图消息数
网友评论