*新闻详情页*/>
应用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完成网络黑客帝国数据雨实际效果,期待对大伙儿有一定的协助,假如大伙儿有任何疑惑请给我留言,网编会立即回应大伙儿的。在此也十分谢谢大伙儿对脚本制作之家网站的适用!
假如你感觉本文对你有协助,欢迎转载,烦请注明出处,感谢!
Copyright © 2002-2020 公众号小程序_小程序正规价格表_微信群签到小程序_网络抽签小程序_个人做小程序需要什么 版权所有 (网站地图) 粤ICP备10235580号