博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模拟黑客帝国效果2(canvas实验)
阅读量:6824 次
发布时间:2019-06-26

本文共 1074 字,大约阅读时间需要 3 分钟。

之前看到一个css和js应用的效果练了一下,演示:

这次用canvas玩一下,感觉也还不错,
Github传送门:
演示地址:


/*Javascript代码片段*/    var c = document.getElementById("c");    var ctx = c.getContext("2d");        //全屏    c.height = window.innerHeight;c.width = window.innerWidth;//文字var txts = "101010110101";//转为数组txts = txts.split("");var font_size = 16;var columns = c.width/font_size; //用于计算输出文字时坐标,所以长度即为列数var drops = [];//初始值for(var x = 0; x < columns; x++)    drops[x] = 1; //输出文字function draw(){    //让背景逐渐由透明到不透明    ctx.fillStyle = "rgba(0, 0, 0, 0.05)";    ctx.fillRect(0, 0, c.width, c.height);        ctx.fillStyle = "#0F0"; //文字颜色    ctx.font = font_size + "px arial";    //逐行输出文字    for(var i = 0; i < drops.length; i++)    {        //随机取要输出的文字        var text = txts[Math.floor(Math.random()*txts.length)];        //输出文字,注意坐标的计算        ctx.fillText(text, i*font_size, drops[i]*font_size);                //如果绘满一屏或随机数大于0.95(此数可自行调整,效果会不同)        if(drops[i]*font_size > c.height || Math.random() >0.95)            drops[i] = 0;                //用于Y轴坐标增加        drops[i]++;    }}setInterval(draw, 100);

转载地址:http://vflzl.baihongyu.com/

你可能感兴趣的文章
PHP模拟发送POST请求之三、用Telnet和fsockopen()模拟发送POST信息
查看>>
这个世界上所有的人,并不是个个都有过你拥有的那些优越条件(转)
查看>>
poj 2236 Wireless Network(并查集)
查看>>
solr 3.5.0 与 tomcat 7.0.5 整合配置
查看>>
/var/lock/subsys作用
查看>>
mvc项目架构搭建之UI层的搭建
查看>>
Android RxJava
查看>>
【linux】su和sudo命令的区别
查看>>
Servlet基础
查看>>
Lind.DDD.Repositories.Mongo层介绍
查看>>
纸板上的虚拟现实和代码中的Cardboard
查看>>
怎样在nat方式的虚拟机下做ssh连接
查看>>
索引——位图索引
查看>>
OpenCV 通过 MFC 的 Picture Control 控件操作图像
查看>>
[原] Jenkins Android 自动打包配置(转)
查看>>
[Redux] Passing the Store Down with <Provider> from React Redux
查看>>
javascript笔记7-事件
查看>>
大数据处理分析的六大最好工具
查看>>
【转】俞军给淘宝产品经理的分享
查看>>
Thrift使用实例
查看>>