起因网上认识的某FE 找我接的私活,想想觉得可以就干了。样式思路绘制好灯泡运动的圆角矩形路径,每个路径点入栈,每次渲染都基于各个路径点坐标绘制小灯泡,周而复始。怎么画圆角矩形非常简单,就是步骤比较繁琐,需要定位一个起始点 然后依次。上、右上圆角、右、右下圆角、下、左下圆角、左、左上圆角:function drawRoundedRect(x,y,w,h,r,bdWidth=3,bdColor,bgcolor){
ctx.beginPath();
ctx.moveTo(x+r,y);
ctx.lineWidth = bdWidth;
ctx.strokeStyle = bdColor;
ctx.arcTo(x+w,y,x+w,y+h,r);
ctx.arcTo(x+w,y+h,x,y+h,r);
ctx.arcTo(x,y+h,x,y,r);
ctx.arcTo(x,y,x+w,y,r);
ctx.stroke();
if(bgcolor) {
ctx.fillStyle = bgcolor;
ctx.fill()
};
ctx.closePath();
}我们通过这个函数,可以尝试先绘制出两个圆角矩形:获得灯泡的运动轨迹和绘制圆角矩形相同,我们需要获得灯泡的运动轨迹:function getTrail () {
va
...
继续阅读
(18)