theMatrix代码雨效果

做了一个代码雨效果放在个人主页:  https://lanleilin.github.io/lanGallery/index.html

代码:

<!DOCTYPE html>
<html>

    <head>
        <title>The Matrix</title>
        <script type="text/javascript" src="../js/jquery.min.js">
        </script>
        <meta charset="utf-8">
        <script>
            $(document).ready(function() {
                //判断移动端还是PC端
                function isPC() {
                    var userAgentInfo = navigator.userAgent;
                    var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
                    var flag = true;
                    for(var v = 0; v < Agents.length; v++) {
                        if(userAgentInfo.indexOf(Agents[v]) > 0) {
                            flag = false;
                            break;
                        }
                    }
                    return flag;
                }

                if(!isPC()) {
                    // 手机
                    var s = window.screen;
                    console.log(s);
                    var width = s.width * 2.5;
                    q.width = s.width * 2.5;
                    q.Height = 300;
                    var height = q.height;
                    var yPositions = Array(300).join(0).split(‘‘);
                    var ctx = q.getContext(‘2d‘);
                    var draw = function() {
                        ctx.fillStyle = ‘rgba(0,0,0,.05)‘; //反复生成opacity为0.5的半透明黑色背景
                        ctx.fillRect(0, 0, width, height);
                        ctx.fillStyle = ‘lightgreen‘;
                        ctx.font = ‘3rem Georgia‘;
                        yPositions.map(function(y, index) {
                            text = String.fromCharCode(1e2 + Math.random() * 33); //随机生成字母
                            x = (index * 30) + 10; //x距离
                            q.getContext(‘2d‘).fillText(text, x, y); //在指定位置显示一个字母
                            if(y > Math.random() * 1e4) {
                                yPositions[index] = 0;
                            } else {
                                yPositions[index] = y + 20; //确定显示字母的位置
                            }
                        });
                    };
                    RunMatrix();

                    function RunMatrix() {
                        Game_Interval = setInterval(draw, 50); //设定刷新间隔
                    }
                } else {
                    var s = window.screen;
                    //      var q=$(‘#q‘);
                    console.log(typeof($("#q")));
                    console.log(document.getElementById("q"));

                    var width = q.width = s.width;
                    var height = q.height;
                    var yPositions = Array(300).join(0).split(‘‘);
                    var ctx = q.getContext(‘2d‘);
                    var draw = function() {
                        ctx.fillStyle = ‘rgba(0,0,0,.05)‘;
                        ctx.fillRect(0, 0, width, height);
                        ctx.fillStyle = ‘red‘;
                        ctx.font = ‘10pt Georgia‘;
                        yPositions.map(function(y, index) {
                            text = String.fromCharCode(1e2 + Math.random() * 33);
                            x = (index * 10) + 10; //x距离
                            q.getContext(‘2d‘).fillText(text, x, y);
                            if(y > Math.random() * 1e4) {
                                yPositions[index] = 0;
                            } else {
                                yPositions[index] = y + 10;
                            }
                        });
                    };
                    RunMatrix();

                    function RunMatrix() {
                        Game_Interval = setInterval(draw, 50);
                    }
                }
                isPC();
            });
        </script>
    </head>

    <body>
        <div align="center">
            <h1 id="theMatrix">The matrix</h1>
            <canvas id="q" width="500" height="500"></canvas>
        </div>
    </body>

</html>
时间: 2024-11-10 07:08:45

theMatrix代码雨效果的相关文章

JQuery实现——黑客帝国代码雨效果

效果如你所见就是本页面上方那样的效果 实现方法来自一个印度小伙纸,学习完我也没总结一下,今儿个补上 如何实现,大家右键查看源码复制即可,不过学习的过程还是要总结总结. 下面通过另外两个小例子,一步一步来实现: 第一个: 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <html> 3 <head> 4 5 <

在centos 7下用cmatrix做出×××屏幕代码雨效果

1.下载cmatrix-1.2a.tar.gz文件 [[email protected] ~]# wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz --2018-07-17 15:06:03-- https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz Resolvin

centos7代码雨效果

Rpm包源代码包安装前提条件:开发工具 下载rpm包 wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz安装 yum group install "development tools" Step1:解压 tar xvf cmatrix-1.2a.tar.gzStep2 :进入源代码目录 可选:建议安装之前,看安装说明(install.readme)Step3:./c

android---粒子雨效果的实现

刚学习了自定义view,就按照极客学院的教程做了粒子雨效果,主要用到绘画线条和多线程,其中的抽象类设计方法值得学习, 1.baseview主要是设定雨滴要实现的动作,只是先设定,也就是抽象方法,在子类中实现其方法 2.Rainitems封装雨滴类 3.Rainitems对雨滴集合创建到面板中,显示出来,具体实现就是在这个类中 一.baseview封装类,子类继承后实现方法即可 public abstract class BaseView extends View { private contro

十三种基于直方图的图像全局二值化算法原理、实现、代码及效果(转)

十三种基于直方图的图像全局二值化算法原理.实现.代码及效果(转) http://www.cnblogs.com/carekee/articles/3643394.html 图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析.特征提取与模式识别之前的必要的图像预处理过程.这个看似简单的问题,在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果. 在这些庞大的分

黑客帝国雨效果JS

黑客帝国雨效果JS. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin: 0;padding: 0;} body{overflow: hidden;} canvas{background: #111;} </style&g

Java实现黑客帝国数字雨效果

偶然看见黑客帝国里面的一个数字雨的效果,感觉很炫,于是写个代码模仿下.效果图如下 效果很简陋,没做过多修饰,直接上代码: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.MemoryIma

百度编辑器ueditor代码高亮效果前台不显示的解决方法

原因是你没有在你的内容页加载相应的css文件,这要如何解决呢? 经测试,只要插入以下两个文件即可解决问题: <link href="你的ueditor路径/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=

安卓图片代码压缩(效果简直爆炸)

话不多说,直接上代码,主函数中直接怼两个方法进去,复制粘贴即可 //图片压缩功能获取长宽比 public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { // 源图片的高度和宽度 final int height = options.outHeight; final int width = options.outWidth; int inSampleSiz