700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > canvas实现雪花随机动态飘落效果(code)

canvas实现雪花随机动态飘落效果(code)

时间:2021-07-30 09:05:27

相关推荐

canvas实现雪花随机动态飘落效果(code)

web前端|js教程

js,canvas,雪花飘落

web前端-js教程

本篇文章给大家介绍一下使用canvas实现雪花随机动态飘落效果的方法,文中示例代码介绍的非常详细

网站源码 q房,vscode终端输入不正常,ubuntu结束x,安装tomcat到启动,python爬虫上传,php生成16位随机数,马尾区正规seo服务电话lzw

微擎整套源码,vscode 命名重构报错,ubuntu u盘 挂载,tomcat 网站目录,sqlite所有记录,网页设计制作招聘北京,sql数据库,ftp服务器 防火墙设置,织梦wap插件破解版,网络前端框架实训报告,爬虫滑块,php 交集,快速seo工具,springboot树状,h1 标签位置,图库网站管理系统,html网页设计教程下载pdf,ecshop整站模板怎么安装,dedecms 后台进不了,ecshop模板页面缓存,a0资产管理系统,android程序设计 pdflzw

用canvas实现雪花随机动态飘落,代码如下

andbase源码,vscode开发团队,ubuntu叮叮,tomcat实例管理,sqlite修改数据下载,拼音搜索插件,在前端开发的框架选择上,怎样用爬虫分析成绩,frameset php,宝安短视频seo,好看欧美视频网站模板下载地址,淘宝网页制作源码,仿淘宝html模板lzw

Documentbody{ margin: 0; padding: 0; } canvas{ background: #000; }var canvas = document.getElementById(snow); var context = canvas.getContext(2d); // 获得可视区的宽高 canvas.width = window.innerWidth; canvas.height = window.innerHeight; function snow(){context.save();// 开启路径context.beginPath();// 移动画布,确定雪花终点为中心点context.translate(100,100);//起点context.moveTo(-20,0);// 终点context.lineTo(20,0);// 线变成白色context.strokeStyle = #fff;// 线变粗context.lineWidth = 10;// 线变圆头context.lineCap = ound;context.stroke();// 角度转弧度var disX = Math.sin(30*Math.PI/180)*20;var disY = Math.sin(60*Math.PI/180)*20;// 画第二条线,左下到右上的线context.moveTo(-disX,disY);context.lineTo(disX,-disY);// 画第三条线context.moveTo(-disX,-disY);context.lineTo(disX,disY);context.stroke();context.restore(); } // snow(); //生成雪花的构造函数 function Snow(x,y,scale,rotate,speedX,speedY,speedR){ this.x = x; this.y = y; this.scale = scale; this.rotate = rotate; this.speedX = speedX; this.speedY = speedY; this.speedR = speedR;// 渲染雪花this.render = function(){ context.save(); context.beginPath(); context.translate(this.x,this.y); context.scale(this.scale,this.scale); context.rotate(this.rotate*Math.PI/180); context.moveTo(-20,0); context.lineTo(20,0); context.strokeStyle = #fff; context.lineWidth = 10; context.lineCap = ound; context.stroke(); var disX = Math.sin(30*Math.PI/180)*20; var disY = Math.sin(60*Math.PI/180)*20; context.moveTo(-disX,disY); context.lineTo(disX,-disY); context.moveTo(-disX,-disY); context.lineTo(disX,disY); context.stroke(); context.restore();} } // var snow = new Snow(50,50,1,10,10,10,10); // snow.render(); // 存储所有生成的雪花 var snowArray = []; // 生成雪花function init(){ var len = 100; for(var i = 0;i<len;i++){var x = Math.random()*canvas.width;var scale = Math.random()+0.5;var rotate = Math.random()*60;var speedX = Math.random()+1var speedY = Math.random()+5;var speedR = Math.random()*4+2;// var snow = new Snow(x,0,scale,rotate,speedX,speedY,speedR);// snow.render();(function(x,y,scale,rotate,speedX,speedY,speedR){ setTimeout(function(){ var snow = new Snow(x,0,scale,rotate,speedX,speedY,speedR); snow.render(); snowArray.push(snow);},Math.random()*8000); })(x,0,scale,rotate,speedX,speedY,speedR);}snowing(); }init();// 动起来function snowing(){ setInterval(function(){//先清除context.clearRect(0,0,canvas.width,canvas.height);for(var i = 0;i 对边 = sin60*斜边 => y=sin60*半径(r);*/

动态效果图:

更多炫酷CSS3、HTML5、jQuery、Javascript特效,推荐访问:js特效网!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。