代码流星雨

简介: 代码流星雨

在这里插入图片描述

<!doctype html>
<html>    
<head>        
<meta charset="GB2312" />        
<title>流星雨</title>        
<meta name="keywords" content="关键词,关键字">        <meta name="description" content="描述信息">        <style>            
body {                
margin: 0;                
overflow: hidden;            
}        
</style>    
</head>      
<body>          
<!--            
<canvas>画布 画板 画画的本子        
-->        
<canvas width=400 height=400 style="background:#000000;" id="canvas"></canvas>          
<!--            javascript            画笔        -->        <script>                                 
//获取画板            
//doccument 当前文档            
//getElement 获取一个标签            
//ById 通过Id名称的方式            
//var 声明一片空间            
//var canvas 声明一片空间的名字叫做canvas            var canvas = document.getElementById("canvas");            //获取画板权限 上下文            
var ctx = canvas.getContext("2d");            
//让画板的大小等于屏幕的大小            
/*                
思路:                   
 1.获取屏幕对象                    
 2.获取屏幕的尺寸                    
 3.屏幕的尺寸赋值给画板           
 */           
//获取屏幕对象            
var s = window.screen;            
//获取屏幕的宽度和高度           
var w = s.width;           
var h = s.height;           
//设置画板的大小            
canvas.width = w;            
canvas.height = h;              
//设置文字大小             
var fontSize = 14;            
//计算一行有多少个文字 取整数 向下取整            
var clos = Math.floor(w/fontSize);            
//思考每一个字的坐标            
//创建数组把clos 个 0 (y坐标存储起来)            var drops = [];            
var str = "qwertyuiopasdfghjklzxcvbnm";            
//往数组里面添加 clos 个 0            
for(var i = 0;i<clos;i++) {                drops.push(0);            
}              
//绘制文字           
 function drawString() {               
  //给矩形设置填充色                
  ctx.fillStyle="rgba(0,0,0,0.05)"                
  //绘制一个矩形                
  ctx.fillRect(0,0,w,h);                 
   //添加文字样式                
   ctx.font = "600 "+fontSize+"px 微软雅黑";                
   //设置文字颜色               
    ctx.fillStyle = "#ff2d2d";                  
    for(var i = 0;i<clos;i++) {                   
     //x坐标                   
      var x = i*fontSize;                    
      //y坐标                  
        var y = drops[i]*fontSize;                  
          //设置绘制文字                    
ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);                    if(y>h&&Math.random()>0.99){                        drops[i] = 0;                   
 }                   
  drops[i]++;                
  }                                 
  }           
   //定义一个定时器,每隔30毫秒执行一次            
   setInterval(drawString,30);        
   </script>    
 </body>
</html>
目录
相关文章
|
2月前
|
设计模式 IDE Java
如何将代码写的更加优雅?
如何将代码写的更加优雅?
25 0
|
2月前
流星雨代码
流星雨代码
|
9月前
|
算法
几行代码带来的巨大变化
几行代码带来的巨大变化
46 0
|
5月前
|
设计模式 存储 Java
写出漂亮代码的45个小技巧(上)
大家好,我是三友~~ 不知道大家有没有经历过维护一个已经离职的人的代码的痛苦,一个方法写老长,还有很多的if else ,根本无法阅读,更不知道代码背后的含义,最重要的是没有人可以问,此时只能心里默默地问候这个留坑的兄弟。。
写出漂亮代码的45个小技巧(上)
|
5月前
|
存储 安全 Java
写出漂亮代码的45个小技巧(下)
大家好,我是三友~~ 不知道大家有没有经历过维护一个已经离职的人的代码的痛苦,一个方法写老长,还有很多的if else ,根本无法阅读,更不知道代码背后的含义,最重要的是没有人可以问,此时只能心里默默地问候这个留坑的兄弟。。
写出漂亮代码的45个小技巧(下)
|
9月前
|
Java Android开发
几行代码就能实现为何要多此一举
几行代码就能搞定,不能代表一个人很牛,借助了开源,只是站在了巨人的肩膀上,让你省去了去往成功的一大段路,然而这一段路上的风景,还请你仔细去欣赏,到头来,你会发现,路上的风景会远远美于终点的成功。
|
11月前
记一次代码评鉴
前言 近期公司组织了一次代码评鉴,在这边记录下学习到的一些规范吧
|
11月前
|
定位技术 数据处理 开发工具
如何优雅地统计代码(一)
*精美排版详见钉钉文档其实这个事情要从一个下午讲起,对我来说是个尤里卡时刻;其实一开始让我直接从数据里统计大家提交代码是有点无从下手的,前几天开始调研了一波代码统计方案后发现大部分都是基于文件来统计代码的各种行数并没有这种基于前后版本的变更代码统计,大家更多的使用Git自带的统计方法但显然我这里没有这样的环境(下面背景会详细展开),快要放弃今天的技术调研遂下楼散步刷新思维,我又回溯了我在这个项目中
|
前端开发 iOS开发
一行代码就能完成的事情,为什么要写两行
一行代码就能完成的事情,为什么要写两行
73 0
一行代码就能完成的事情,为什么要写两行
|
数据可视化 开发工具 git
如何给你的代码祝寿?
前段时间 alibaba/x-render 突破 3K Star,一直寻思着怎么给开源社区贡献的同学做一个小礼物来“祝寿”,然后就想到了之前玩过的 gource 和 avconv 这两个库(参数不熟悉可查文档,此外不多加解释),前者用于处理提交日志可视化,后者用于视频处理。

热门文章

最新文章