介绍
这篇文章将为大家详细讲解有关h5画布中如何实现黑客帝国矩形阵效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
在博客园看到了车大棒的写了一篇关于实现黑客帝国矩形阵,觉得帆布还是有一些奇妙的地方所在,故做个笔记记录一下。
实现的效果如下:
真的是一两行关键的代码添加就能实现意想不到的效果。
由于是画布上实现的,所有首先第一步就是在页面添加帆布标签,如下:
& lt;帆布id=癱anvas"祝辞请使用高版本浏览器,IE8以及一下不支持canvas
css代码:
html,身体{高度:100%;溢出:隐藏}
由于实现的效果是帆布全屏显示在浏览器中,所有下一步就是把屏幕的宽高赋值给画布,如下:
var宽度,高度, 帆布=. getelementbyid (“canvas"); 画布。宽度=宽度=窗口。innerWidth | | document.documentElement。clientWidth | | document.body.clientWidth; 画布。身高=身高=窗口。innerHeight | | document.documentElement。clientHeight | | document.body.clientHeight;
创建画布的2 d绘图环境,如下:
var ctx=canvas.getContext (& # 39; 2 d # 39;);
下面创建一个数组,用一个数组来干嘛呢,主要是用数组来存放画布中文字的Y值。不懂的话看完就全明白了。
var num=数学。装天花板(宽/10); var y=阵列(num) . join (0) .split (& # 39; & # 39;);
num的值就是把屏幕的宽度分割成num份,也即是num列,每列的宽度是10 px。
画布的绘图代码:
& lt;脚本类型=拔谋?javascript"比; 窗口。onload=function () { var宽度,高度, 帆布=. getelementbyid (“canvas"); 画布。宽度=宽度=窗口。innerWidth | | document.documentElement。clientWidth | | document.body.clientWidth; 画布。身高=身高=窗口。innerHeight | | document.documentElement。clientHeight | | document.body.clientHeight; var ctx=canvas.getContext (& # 39; 2 d # 39;); var num=数学。装天花板(宽/10); var y=阵列(num) . join (0) .split (& # 39; & # 39;); var画=function () { ctx。fillStyle=& # 39; rgba (0, 0, 0 . 05) & # 39;;//核心代码,创建黑色背景,透明度为0.05的填充色。 ctx。fillRect(0, 0,宽度、高度); ctx。fillStyle=& # 39; # 0 f0 # 39;;//设置了字体颜色为绿色 ctx。微软字体=& # 39;10 px YaHei& # 39;;//设置字体大小与家庭 (我=0;我& lt;num;我+ +){ var x=(我* 10)+ 10; 文本=String.fromCharCode math . random () * (65 + 62); var日元=y[我]; ctx。fillText(文本、x、y?); 如果日元比;math . random() * 10 *高度){ [我]y=0; 其他}{ y[我]=方法(y[我])+ 10; } } } ;(函数(){ setInterval(画,100); }) (); } & lt;/script>h5画布中如何实现黑客帝国矩形阵效果