我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一招实现“代码雨”的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一招实现“代码雨”的方法

这篇文章主要介绍“一招实现“代码雨”的方法”,在日常操作中,相信很多人在一招实现“代码雨”的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”一招实现“代码雨”的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一招实现“代码雨”的方法

先看看效果

绿色:

一招实现“代码雨”的方法

彩色:

一招实现“代码雨”的方法

背景色:

一招实现“代码雨”的方法

绿色逐渐变浅:

一招实现“代码雨”的方法

源代码:

<!DOCTYPE html><html>   <head>       <meta http-equiv="Content-Type" content="text/html;charset=utf-8">    <title>Code -by ZhenYu.Sha</title>    <style type="text/css">        html, body {            width: 100%;            height: 100%;        }        body {            background: #000;            overflow: hidden;            margin: 0;            padding: 0;        }    </style></head>   <body>  <canvas id="cvs"></canvas><script type="text/javascript">    var cvs = document.getElementById("cvs");    var ctx = cvs.getContext("2d");    var cw = cvs.width = document.body.clientWidth;    var ch = cvs.height = document.body.clientHeight;    //动画绘制对象    var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;    var codeRainArr = []; //代码雨数组    var cols = parseInt(cw / 14); //代码雨列数    var step = 16;    //步长,每一列内部数字之间的上下间隔    ctx.font = "bold 26px microsoft yahei"; //声明字体,个人喜欢微软雅黑    function createColorCv() {        //画布基本颜色        ctx.fillStyle = "#242424";        ctx.fillRect(0, 0, cw, ch);    }    //创建代码雨    function createCodeRain() {        for (var n = 0; n < cols; n++) {            var col = [];            //基础位置,为了列与列之间产生错位            var basePos = parseInt(Math.random() * 300);            //随机速度 3~13之间            var speed = parseInt(Math.random() * 10) + 3;            //每组的x轴位置随机产生            var colx = parseInt(Math.random() * cw)            //绿色随机            var rgbr = 0;            var rgbg = parseInt(Math.random() * 255);            var rgbb = 0;            //ctx.fillStyle = "rgb("+r+','+g+','+b+")"            for (var i = 0; i < parseInt(ch / step) / 2; i++) {                var code = {                    x: colx,                    y: -(step * i) - basePos,                    speed: speed,                    //  text : parseInt(Math.random()*10)%2 == 0 ? 0 : 1  //随机生成0或者1                    text: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "s", "t", "u", "v", "w", "x", "y", "z"][parseInt(Math.random() * 11)], //随机生成字母数组中的一个                    color: "rgb(" + rgbr + ',' + rgbg + ',' + rgbb + ")"                }                col.push(code);            }            codeRainArr.push(col);        }    }    //代码雨下起来    function codeRaining() {        //把画布擦干净        ctx.clearRect(0, 0, cw, ch);        //创建有颜色的画布        //createColorCv();        for (var n = 0; n < codeRainArr.length; n++) {            //取出列            col = codeRainArr[n];            //遍历列,画出该列的代码            for (var i = 0; i < col.length; i++) {                var code = col[i];                if (code.y > ch) {                    //如果超出下边界则重置到顶部                    code.y = 0;                } else {                    //匀速降落                    code.y += code.speed;                }                                //1 颜色也随机变化                //ctx.fillStyle = "hsl("+(parseInt(Math.random()*359)+1)+",30%,"+(50-i*2)+"%)";                 //2 绿色逐渐变浅                // ctx.fillStyle = "hsl(123,80%,"+(30-i*2)+"%)";                 //3 绿色随机                // var r= 0;                // var g= parseInt(Math.random()*255) + 3;                // var b= 0;                // ctx.fillStyle = "rgb("+r+','+g+','+b+")";                //4 一致绿                ctx.fillStyle = code.color;                //把代码画出来                ctx.fillText(code.text, code.x, code.y);            }        }        requestAnimationFrame(codeRaining);    }    //创建代码雨    createCodeRain();    //开始下雨吧 GO>>    requestAnimationFrame(codeRaining);</script>   </body></html>

到此,关于“一招实现“代码雨”的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一招实现“代码雨”的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

一招实现“代码雨”的方法

这篇文章主要介绍“一招实现“代码雨”的方法”,在日常操作中,相信很多人在一招实现“代码雨”的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”一招实现“代码雨”的方法”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-14

JavaScript中canvas实现代码雨效果的方法

这篇文章将为大家详细讲解有关JavaScript中canvas实现代码雨效果的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了canvas实现代码雨效果的具体代码,供大家参考,具体内
2023-06-15

使用HTML怎么实现一个代码雨效果

本篇文章为大家展示了使用HTML怎么实现一个代码雨效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、绿色:2、彩色:3、背景色:4、绿色逐渐变浅:源代码:
2023-06-09

cmd命令实现数字雨的方法

小编给大家分享一下cmd命令实现数字雨的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!cmd命令实现数字雨的方法:首先新建TXT文本文档,并输入代码;然后保存
2023-06-08

PHP跳转代码的实现方法

这篇文章主要讲解了“PHP跳转代码的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP跳转代码的实现方法”吧!PHP跳转代码默认文档设置1 :< ?php switch ($_
2023-06-17

Java线程代码的实现方法

一、线程Java代码实现1.继承Thread声明Thread的子类public class MyThread extends Thread { public void run(){ System.out.println("MyThread
2023-05-31

Vue实现红包雨小游戏的示例代码是什么

本篇文章为大家展示了Vue实现红包雨小游戏的示例代码是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。0 写在前面红包也叫压岁钱,是过农历春节时长辈给小孩儿用红纸包裹的礼金。据传明清时期,压岁钱大
2023-06-29

DedeCms 5.7 代码高亮实现方法

无论建博客网站还是cms类型网站,很多都需要代码高亮,织梦CMS是国内比较优秀的CMS建站系统之一,不像Wordpress一样有大把大把的插件可用,我用的是最新的dedeCMS 5.7,在网上搜了很长时间资料,大都写的是CKEditor和S
2022-06-12

React代码分割的实现方法介绍

虽然一直有做react相关的优化,按需加载、dll分离、服务端渲染,但是从来没有从路由代码分割这一块入手过,所以下面这篇文章主要给大家介绍了关于React中代码分割的方式,需要的朋友可以参考下
2022-12-03

React-Native Android 与 IOS App使用一份代码实现方法

React-Native Android 与 IOS 共用代码 React-Native 开发的App, 所有组件iOS & Android 共用, 共享一份代码 包括一些自定义的组件, 如NavigationBar, TabBar, S
2022-06-06

.Net Framework ping方法的实现代码怎么写

本篇文章为大家展示了.Net Framework ping方法的实现代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。开发人员在使用.Net Framework进行开发的时候,会深深的体会到其
2023-06-17

Sphinx PHP 实现代码搜索的最佳实践方法

简介:Sphinx是一个开源的全文搜索引擎,它提供了高效的搜索解决方案。PHP是一种流行的服务器端脚本语言,与Sphinx结合使用,可以实现强大的代码搜索功能。本文将介绍在PHP中实现Sphinx代码搜索的最佳实践方法,并提供具体的代码示例
2023-10-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录