炫酷黑客帝国文字代码雨随机变化飘落JS特效

主页 > 新闻资讯 > 炫酷黑客帝国文字代码雨随机变化飘落JS特效
炫酷黑客帝国代码雨飘落特效
黑客帝国文字矩阵下落特效,非常炫酷的文字特效,可用于网页背景,动画效果流畅,可看到一列一列的文字快速下坠的效果,下坠的先后顺序不一样,形成一种很酷的视觉冲击效果,本代码基于CSS3内核,测试请使用FireFoxChrome等浏览器。


<canvas id="mom" style="background:#111"></canvas>

<script type="text/javascript">
    window.onload = function(){
//获取画布对象
        var canvas = document.getElementById("mom");
//获取画布的上下文
        var context =canvas.getContext("2d");
//获取浏览器屏幕的宽度和高度
        var W = window.innerWidth;
        var H = window.innerHeight;
//设置canvas的宽度和高度
        canvas.width = W;
        canvas.height = H;
//每个文字的字体大小
        var fontSize = 16;
//计算列
        var colunms = Math.floor(W /fontSize);
//记录每列文字的y轴坐标
        var drops = [];
//给每一个文字初始化一个起始点的位置
for(var i=0;i<colunms;i++){
            drops.push(0);
        }
//运动的文字
        var str ="林肖 黑客 极客 博客";
//4:fillText(str,x,y);原理就是去更改y的坐标位置
//绘画的函数
        function draw(){
            context.fillStyle = "rgba(0,0,0,0.05)";
            context.fillRect(0,0,W,H);
//给字体设置样式
            context.font = "700 "+fontSize+"px  微软雅黑";
//给字体添加颜色
            context.fillStyle ="#00cc33";//可以rgb,hsl, 标准色,十六进制颜色
//写入画布中
for(var i=0;i<colunms;i++){
                var index = Math.floor(Math.random() * str.length);
                var x = i*fontSize;
                var y = drops[i] *fontSize;
                context.fillText(str[index],x,y);
//如果要改变时间,肯定就是改变每次他的起点
if(y >= canvas.height && Math.random() > 0.99){
                    drops[i] = 0;
                }
                drops[i]++;
            }
        };
        function randColor(){
            var r = Math.floor(Math.random() * 256);
            var g = Math.floor(Math.random() * 256);
            var b = Math.floor(Math.random() * 256);
return "rgb("+r+","+g+","+b+")";
        }
        draw();
        setInterval(draw,30);
    };
</script>

效果图:
黑客帝国代码雨字飘落JS特效
相关文章