html5制作彩虹雨代码
导读:HTML5是一种全新的标准,能够实现更复杂的功能和交互体验。其中制作彩虹雨效果是一个非常常见的应用,下面我们就来看一下如何使用HTML5来实现彩虹雨效果的代码。varcanvas = document.getElementById("can...
HTML5是一种全新的标准,能够实现更复杂的功能和交互体验。其中制作彩虹雨效果是一个非常常见的应用,下面我们就来看一下如何使用HTML5来实现彩虹雨效果的代码。
varcanvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var drops = [];
functionRaindrop(x,y,speed,len,color) {
this.x = x;
this.y = y;
this.speed = speed;
this.len = len;
this.color = color;
}
Raindrop.prototype.draw=function() {
context.beginPath();
context.moveTo(this.x,this.y);
context.lineTo(this.x,this.y +this.len);
context.strokeStyle=this.color;
context.stroke();
}
;
functioncreateRain() {
for(vari = 0;
inewRaindrop(Math.random() * canvas.width, 0, Math.random() * 10 + 5, Math.random() * 20 + 10,"hsl("+(Math.random()*360)+", 100%, 50%)"));
}
}
functiondrawRain() {
context.clearRect(0, 0, canvas.width, canvas.height);
drops.forEach(function(drop) {
drop.draw();
drop.y += drop.speed;
if(drop.y >
canvas.height) {
drop.y = 0;
drop.len= Math.random() * 20 + 10;
drop.speed = Math.random() * 10 + 5;
}
}
);
setTimeout(drawRain, 30);
}
createRain();
drawRain();
代码中我们定义了一个Raindrop对象,每一滴雨是一个Raindrop对象,再用一个数组存放雨滴。然后在createRain函数中生成10个不同位置、速度、长度和颜色的雨滴。在drawRain函数中,先清除画面,然后对drops数组中的每一滴雨进行绘制、位置改变和速度变化的处理。最后用setTimeout使得画面不断刷新,形成动画效果。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: html5制作彩虹雨代码
本文地址: https://pptw.com/jishu/296502.html