黑客帝国代码流动效果(canvas)
2016-12-06 19:36
633 查看
效果图:
用canvas写的一个类似黑客帝国的效果~
用canvas写的一个类似黑客帝国的效果~
<!doctype HTML> <html> <head> <meta http-equiv="context-type" content="text/html;charset=utf-8;"> <title>canvas代码流动态效果</title> <meta name="keywords" content=""> <meta name="description" content=""> <style type="text/css"> *{margin:0;padding:0;} </style> </head> <body> <canvas id="canvas"></canvas> <script type="text/javascript"> //获取屏幕大小 var s = window.screen; var winW = s.width; var winH = s.height; //设置画布大小 var canvas = document.getElementById("canvas"); canvas.width = winW; canvas.height = winH; var cxt = canvas.getContext("2d"); var fontSize = 14; var str = "代码流动态效果~~~"; var txts = str.split(""); //共有多少行 var cols = Math.floor(winW/fontSize); var drop = []; for(var i=0;i<cols;i++){ //Y轴初始化位置 drop.push(Math.floor(Math.random()*-100)); } function draw(){ //背景填充 cxt.fillStyle = "rgba(0,0,0,0.1)"; cxt.fillRect(0,0,winW,winH); //字体颜色 cxt.fillStyle = "#00ff00"; //字体 cxt.font = "300px " + fontSize + "px 微软雅黑"; for(var i=0;i<drop.length;i++){ //设置绘画的文字 cxt.fillText(txts[Math.floor(Math.random()*txts.length)],i*fontSize,drop[i]*fontSize); //如果绘满一屏或随机数大于0.95(此数可自行调整,效果会不同) if(drop[i]*fontSize > winH && Math.random() > 0.95){ drop[i] = 0; } //用于Y轴坐标增加 drop[i]++; } } setInterval(draw,33); </script> </body> </html>
相关文章推荐
- HTML5调用摄像头实例
- Canvas 在高清屏下绘制图片变模糊的解决方法
- 手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
- 使用canvas实现仿新浪微博头像截取上传功能
- js+HTML5实现canvas多种颜色渐变效果的方法
- javascript+HTML5的Canvas实现Lab单车动画效果
- JavaScript学习小结之使用canvas画“哆啦A梦”时钟
- JavaScript基础――使用Canvas绘图
- js+canvas绘制矩形的方法
- JavaScript+html5 canvas制作的百花齐放效果完整实例
- JS Canvas定时器模拟动态加载动画
- 浅谈jquery中使用canvas的问题
- jQuery+canvas实现的球体平抛及颜色动态变换效果
- 微信小程序 canvas API详解及实例代码
- html5 canvas js(数字时钟)实例代码
- JavaScript+canvas实现七色板效果实例
- js Canvas实现圆形时钟教程
- Android中Canvas的常用方法总结
- Android使用Canvas绘制圆形进度条效果
- javascript+canvas制作九宫格小程序