h5+js生成随机大小的雪花
来源:互联网 发布:不用网络的电视软件 编辑:程序博客网 时间:2024/05/11 14:12
双旦即将来临,来点雪花为即将到来的节日添加点色彩吧!初学者,不喜勿喷
利用H5中的canvas+js制作出简单的雪花降落的动态效果!
html代码如下:
<!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>snow</title> <style> .mc-pic{ position:absolute; left:0; top:0; background-color:rgba(73, 73, 73, 0.63); overflow: hidden; } </style></head><body height="100%"> <div class="mc-pic" id="mc-pic"> <canvas id=canvas></canvas> </div> <script src="snow.js"></script></body></html>js代码如下
var snowflakes = [];WINDOW_WIDTH = window.screen.availWidth ;WINDOW_HEIGHT = window.screen.availHeight ;window.onload=function(){ //获取绘图画板 var canvassnow =document.getElementById("canvas"); var contextsnow = canvassnow.getContext("2d"); canvassnow.width = WINDOW_WIDTH; canvassnow.height = WINDOW_HEIGHT; //设置和清除动画效果,动画效果持续时间为15s var startTime = new Date().getTime(); var interval = setInterval(function(){ if(new Date().getTime() - startTime > 15000){ clearInterval(interval); document.getElementById("mc-pic").style.display = "none"; return; } initSnowFlake(); updateMultiFlake(contextsnow); }, 50);}function initSnowFlake(){ var aFlake = { x: Math.random()*WINDOW_WIDTH, y: 0, g:0.5+Math.random()*0.5, vx:Math.pow(-1,Math.ceil(Math.random()*1000))*4, vy:0.5, r: Math.random()*30 } snowflakes.push(aFlake);}function updateMultiFlake(ctxsnow){ ctxsnow.clearRect( 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); var snow=new Image(); snow.src="images/mc/mc_snow1.png"; for(var i=0;i<snowflakes.length;i++){ snowflakes[i].x += snowflakes[i].vx; snowflakes[i].y += snowflakes[i].vy; snowflakes[i].vy += snowflakes[i].g; snowflakes[i].r = snowflakes[i].r*0.99; ctxsnow.drawImage(snow,snowflakes[i].x,snowflakes[i].y,snowflakes[i].r,snowflakes[i].r); }}给这段代码设置的时间为15秒,雪花在每次下降的过程中逐渐减小。大家可以根据自己的需要对时间进行更改!这段代码没有考虑到碰撞检测的部分,有兴趣的可以自己做一下。
阅读全文
3 0
- h5+js生成随机大小的雪花
- H5+原生js 雪花特效
- js生成100-500的随机整数
- js生成指定范围内的随机整数
- 雪花下落+雪花颜色随机+形状随机
- 随机生成两个不同大小颜色的圆
- js雪花
- JS生成随机颜色
- js生成随机字母
- JS生成随机字符
- JS随机生成密码
- js 随机生成颜色
- js生成随机编号
- js 随机生成颜色
- js 生成随机字符串
- js随机生成颜色
- js 生成随机颜色
- JS生成随机字符串
- java常用实用类详解
- 红旗Linux已然是国内老大
- 芯片MAX3490使用记录
- win10 Anaconda:Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'
- 2017 年最受欢迎的 10个编程挑战网站
- h5+js生成随机大小的雪花
- Android架构师或者独立开发,前期搭框架应该做哪些事情
- 【SMS】SMS协议介绍之SMS控制层(Control Layer)
- 解决子线程不共有父线程的请求上下文环境
- WebView内存泄漏,如何让WebView清除更彻底
- 请求发送者与接收者解耦——命令模式(三)
- 25岁社招进阿里,从电商到有赞新零售,仅1年就打开了马云一直想做的新领域!
- Error:java: Compilation failed: internal java compiler error
- jqGrid 翻页行保持选中