黑客帝国雨效果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>
</head>
<body>
    <canvas id="canvas"></canvas>
    <script>
        var canvas = document.getElementById("canvas");
        var context = canvas.getContext("2d");

        var W = window.innerWidth;
        var H = window.innerHeight;

        canvas.width = W;
        canvas.height = H;

        var fontSize = 16;
        //计算列
        var colunm = Math.floor(W/fontSize);
        //console.log(colunm);
        //存储Y值
        var drops = [];

        for(var i = 0;i<colunm;i++){
            drops[i] = 1;
        }
        //console.log(...drops)
        var str = "Welcome JavaScript";

        //let tempRandom = Math.random()*str.length;
        //console.log(tempRandom,Math.floor(tempRandom))
        //把文字画到屏幕上
        function draw(){
            context.fillStyle = "rgba(0,0,0,0.05)";//文字随机出现的背景
            context.fillRect( 0, 0, W, H);
            context.font = "700 " + fontSize + "px ARIAL";
            context.fillStyle = "#00cc33";
            //context.fillStyle = randColor();
            //console.log("你好");
            for(var i = 0; i<colunm; i++){
                //让字符串中的内容随机出现
                var index = Math.floor(Math.random()*str.length);
                var x = i*fontSize;
                var y = drops[i]*fontSize;
                context.fillText(str[index],x,y);
                console.log(str[index],x,y);
                if(y>=canvas.height && Math.random()>0.99){
                    drops[i] = 0;
                }
            drops[i]++;
            }
        }

        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>

效果截图:

原文地址:https://www.cnblogs.com/liubeimeng/p/10618388.html

时间: 2024-10-29 13:52:39

黑客帝国雨效果JS的相关文章

仿造黑客帝国下雨效果

前几天,学习了某站的大大写的仿造黑客帝国字符雨效果,今天拿出来分享一下. 首先,我们使用 HTML5的canvas来写一个,废话不多说直接上代码! <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>HTML5模仿骇客帝国文字雨</title

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&g

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

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

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

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

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

仿黑客帝国文字雨效果

package com.xuefeng.demo.widget.hkrainie; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.Paint.Style; import a

JS DOM编程艺术——用JS实现动画效果—— JS学习笔记2015-7-21(第88天)

moveElement函数 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用定时器实现JS动画效果</title> <style> </style> </head> <body> <

Tab选项卡 自动切换效果js实现

try.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="try.css"> <script type="text/javascript&qu

Tab选项卡 延迟切换效果js实现

try.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="try.css"> <script type="text/javascript&qu