画布万花筒效果的简单实现(推荐)
帆布还具有变换功能的CSS3,底层的操作变换的方法是使用线性代数的矩阵,和矩阵是在生活实践中我们会经常被使用,它可以使复杂的空间问题的出现,它仍有大量的练习,然后不懂它的人会你要努力学习的感觉,这种知识是不小。一个封装好的画布变换功能:规模(旋转),(翻译),(变换),settransform(),();只要他们可以去数字单元没有通过,在这里,角的弧度,而这些差异在CSS变换(settransform),(在);这种转变具有记忆功能和叠加,settransform(帮助)
你消除这些功能,换句话说,settransform()允许你缩放,旋转,移动,倾斜的当前环境。
至于如何使用它到W3C手册。
下效应图:
代码uff1a
xml代码将内容复制到剪贴板。
帆布
体{
背景:# Eee;
}
帆布{
背景:# FFF;
}
VaR OCA = document.getelementsbytagname(画布){ 0 };
VaR CAS = ocas.getcontext(2D);
var arr = { };
绘制数据内容
setInterval(){()函数(
(00800800)cas.clearrect;
对于(var i = 0;i < arr.length;i++){
Cas.save();
Cas.beginPath();
(400400)cas.translate;
cas.rotate(ARR {我}。民*数学。π/ 180);
cas.scale(ARR {我},{我} num2,ARR。num2);
CAS。fillStyle=ARR {我}。颜色;
cas.rect(ARR {我}。num1,0,20,20);
Cas.fill();
Cas.restore();
如果(ARR {我},num1 <= 0){
Arr.splice(I,1);
其他{ }
ARR {我} NUM + +;
ARR {我} num2 = 0.0015;
ARR {我},num1 = 0.4;
}
}
},60);
数据存储
setInterval(){()函数(
var obj = {
数字:0,
num1 :300,
num2:1,
颜色:RGB(+ parseInt(Math.random)*(255)+
};
Arr.push(obj);
},1000);
为了获得更多图形输出,我们首先使用数组存储数据,然后绘制循环的数据内容。最后,在数据完成后,画布将被删除,而转换是值得改变的,这样我们就可以达到动画的效果。
上述帆布万花筒效果是实现简单,经萧边推荐。我们希望能给你一个参考,希望你能得到很多支持。