应用canvas完成网络黑客帝国数据雨实际效果

日期:2021-01-19 类型:科技新闻 

关键词:公众号小程序,小程序正规价格表,微信群签到小程序,网络抽签小程序,个人做小程序需要什么

应用canvas完成网络黑客帝国数据雨

实际效果图:

编码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF⑻">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
      body {
        margin: 0;
        padding: 0;
      }
      canvas {
        width: 100%;
        height: 100%;
      }
    </style>
  </head>
  <body>
    <canvas style="background:#111"></canvas>

    <script>
      //获得画布目标
      var can = document.querySelector("canvas");
      //获得画布的左右文
      var ctx = can.getContext("2d");
      //设定canvas的宽度和高宽比
      can.width = window.innerWidth;
      can.height = window.innerHeight;
      //每一个文本的字体样式尺寸
      var fontSize = 16;
      //测算列
      var colunms = Math.floor(window.innerWidth / fontSize);
      //纪录每列文本的y轴座标
      var arr = [];
      //给每个文本原始化1个起止点的部位
      for (var i = 0; i < colunms; i++) {
        arr.push(0);
      }
      //健身运动的文本
      var str = "you are a silly";
      //美术绘画的涵数
      function draw() {
        //布满全屏的黑色遮罩层
        ctx.fillStyle = "rgba(0,0,0,0.05)";
        ctx.fillRect(0, 0, window.innerWidth, window.innerHeight);
        //给字体样式设定款式
        ctx.font = "700 " + fontSize + "px  微软雅黑";
        //给字体样式加上色调
        ctx.fillStyle = "#00cc33";
        //写入画布中
        for (var i = 0; i < colunms; i++) {
          var index = Math.floor(Math.random() * str.length);
          var x = i * fontSize;
          var y = arr[i] * fontSize;
          ctx.fillText(str[index], x, y);
          //假如文本的Y轴座标超过画布的高宽比,1/100*colunms几率将该文本的Y轴座标重设为0
          if (y >= can.height && Math.random() > 0.99) {
            arr[i] = 0;
          }
    //文本Y轴座标+1
          arr[i]++;
        }
      }
      draw();
      setInterval(draw, 30);
    </script>
  </body>
</html>

总结

以上所述是网编给大伙儿详细介绍的应用canvas完成网络黑客帝国数据雨实际效果,期待对大伙儿有一定的协助,假如大伙儿有任何疑惑请给我留言,网编会立即回应大伙儿的。在此也十分谢谢大伙儿对脚本制作之家网站的适用!
假如你感觉本文对你有协助,欢迎转载,烦请注明出处,感谢!