用canvas 实现《Matrix》(黑客帝国)中 电脑屏幕效果
来源:互联网 发布:淘宝粉星便利店靠谱么 编辑:程序博客网 时间:2024/05/01 19:16
这是我第一次在博客上写文章了。其实我是一名少数民族--维吾尔族,名字名字很长,Abduwahid,平时大家叫我阿卜杜。最近我在一个培训机构学web前端,当我接触到canvas的时候无比的兴奋,可以用代码画图,HTML5真TMD越来越强悍了。我做了一个模拟冒气泡的动态图时,突发灵感,就做了那个《黑客帝国》中的电脑屏幕中一条条绿线。也就是如下图:
打开页面后可以动态的生成,并不断的上升;
源代码:
<!DOCTYPE><html><head><title> 气泡 </title><meta charset="utf-8" /></head><body><canvas id="canvas" width="800px" height="800px" style="background:#000;"></canvas><script>var canvas=document.getElementById("canvas");var context=canvas.getContext("2d");const WIDTH=canvas.width=window.innerWidth;const HEIGHT=canvas.height=window.innerHeight;function paint(){context.clearRect(x-r,y+r,2*r,2*r)var x=Math.random()*WIDTH;//从页面底部随机生成气泡var r=Math.random()*10;<span style="font-family: Arial, Helvetica, sans-serif;">//从页面底部随机生成半径为r的小圆</span>var y=HEIGHT;//初始化y的值为canvas的高度setInterval(function(){//设个定时器context.beginPath();context.arc(x,y,r,0,Math.PI*2);//画圆context.closePath();context.fill();context.fillStyle="rgba(0,255,0,"+(Math.random()*0.5)+")";y-=r;},30);}window.onload=function(){setInterval(paint,30);}</script></body></html>
这个效果完成之后,我就实现了另一个效果,在一个优美的风景图上配上气泡,效果如下:
这个的源代码:
<!DOCTYPE><html><head><title> 气泡 </title><meta charset="utf-8" /></head><body><canvas id="canvas" width="1024px" height="724px" style="background-image:url('beautiful.jpg');"></canvas><script>var canvas=document.getElementById("canvas");var context=canvas.getContext("2d");const WIDTH=canvas.width;const HEIGHT=canvas.height;function paint(){context.clearRect(0,0,WIDTH,HEIGHT)var x=Math.random()*WIDTH;var r=Math.random()*20;var y=HEIGHT;var timer=setInterval(function(){context.beginPath();context.arc(x,y,r,0,Math.PI*2);context.closePath();context.fill();context.fillStyle="rgba(255,255,255,"+(y-4*r)/HEIGHT*0.6+")";y-=10;(y-5*r)<0&&(clearInterval(timer))if (y<0){clearInterval(timer);y=HEIGHT;}},100);}window.onload=function(){setInterval(paint,100);}</script></body></html>
0 0
- 用canvas 实现《Matrix》(黑客帝国)中 电脑屏幕效果
- 实现黑客帝国屏幕效果
- Html5 canvas黑客帝国文字瀑布效果
- 实现黑客帝国数字雨效果
- js使用canvas实现 黑客帝国二进制雨
- canvas动画之三 -- 黑客帝国文字掉落效果
- 黑客帝国效果
- html5实现黑客帝国数字矩阵效果
- Canvas之"黑客帝国"
- The Matrix(黑客帝国)
- 用canvas实现图片滤镜效果
- 用canvas实现图片转动效果
- 用canvas实现图片滤镜效果
- canvas实现时钟效果
- Canvas实现放大镜效果
- canvas实现雪花效果
- canvas实现放大镜效果
- canvas实现雨滴效果
- 自定义View
- swift基本语法(总结提炼版)之001常量&变量
- symfony2 如何测试与数据库交互的代码
- linux设备模型分析之bus_register()
- 成员方法
- 用canvas 实现《Matrix》(黑客帝国)中 电脑屏幕效果
- xampp新建数据库+数据库的导入导出
- 一道常被人轻视的前端JS面试题
- 《Android源码设计模式》读书笔记 (17) 第17章 中介者模式
- C++面向对象编程<四>:类comlpex的完整代码
- 有一个14位数。由 2个1 2个2 2个3 2个4 2个5 2个6 2个7组成!其中,两个1中有一个数字,2个2中有2个数字……2个7中有7个数字入:73625324765141
- POJ235 The Embarrassed Cryptographer
- Linux驱动开发错误:module license 'unspecified' taints kernel.
- Java Notes-14(DateAtHost Client, TinyHttpd Server, Socket Options)