JS畫布動(dòng)態(tài)實(shí)現(xiàn)黑客帝國(guó)背景效果
本文實(shí)例為大家分享了JS畫布動(dòng)態(tài)實(shí)現(xiàn)黑客帝國(guó)背景效果的具體代碼,供大家參考,具體內(nèi)容如下
效果圖
完整代碼
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title> <style> *{ padding:0; margin:0; } body{ overflow: hidden; } </style></head><body> <canvas style='background:#111'></canvas> <script> window.onload = function(){ //獲取畫布對(duì)象 var canvas = document.getElementById('mom'); //獲取畫布的上下文 //getContext() 方法返回一個(gè)用于在畫布上繪圖的環(huán)境。 var context =canvas.getContext('2d'); //獲取瀏覽器屏幕的寬度和高度 var W = window.innerWidth; var H = window.innerHeight; //設(shè)置canvas的寬度和高度 canvas.width = W; canvas.height = H; //每個(gè)文字的字體大小 var fontSize = 16; //計(jì)算列 var colunms = Math.floor(W /fontSize); //記錄每列文字的y軸坐標(biāo) var drops = []; //給每一個(gè)文字初始化一個(gè)起始點(diǎn)的位置 //計(jì)算每一個(gè)文字所謂坐標(biāo) 存儲(chǔ)y軸的坐標(biāo) for(var i=0;i<colunms;i++){ drops.push(0); } //運(yùn)動(dòng)的文字 var str ='JavaScript function(){}'; //4:fillText(str,x,y);原理就是去更改y的坐標(biāo)位置 //繪畫的函數(shù) function draw(){ context.fillStyle = 'rgba(0,0,0,0.05)'; //fillRect() 方法繪制“已填色”的矩形。默認(rèn)的填充顏色是黑色。 context.fillRect(0,0,W,H); //給字體設(shè)置樣式 context.font = '700 '+fontSize+'px 微軟雅黑'; //給字體添加顏色 context.fillStyle ='#00cc33';//可以rgb,hsl, 標(biāo)準(zhǔn)色,十六進(jìn)制顏色 //寫入畫布中 for(var i=0;i<colunms;i++){var index = Math.floor(Math.random() * str.length);//設(shè)置文字出發(fā)時(shí)間隨機(jī) Math.floor(Math.random()*str.length)讓數(shù)組里面的文字索引隨機(jī)出現(xiàn) var x = i*fontSize;var y = drops[i] *fontSize;//也讓y軸方向也向下掉一個(gè)文字的距離context.fillText(str[index],x,y);// //如果要改變時(shí)間,肯定就是改變每次他的起點(diǎn)if(y >= canvas.height && Math.random()>0.99){ drops[i] = 0;}drops[i]++;//讓數(shù)組里面的值每次加一,用于上面的y軸下掉 } }; //隨機(jī)顏色 function randColor(){ var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return 'rgb('+r+','+g+','+b+')'; } draw(); setInterval(draw,20); }; </script></body></html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. idea設(shè)置提示不區(qū)分大小寫的方法3. HTTP協(xié)議常用的請(qǐng)求頭和響應(yīng)頭響應(yīng)詳解說(shuō)明(學(xué)習(xí))4. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )5. VMware中如何安裝Ubuntu6. IntelliJ IDEA創(chuàng)建web項(xiàng)目的方法7. docker容器調(diào)用yum報(bào)錯(cuò)的解決辦法8. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)9. 使用IntelliJ IDEA 配置安卓(Android)開(kāi)發(fā)環(huán)境的教程詳解(新手必看)10. django創(chuàng)建css文件夾的具體方法
