canvas简单下雨特效

前面做了两个简单的效果,这次就来个下雨的效果

思路简单的说一下

随机在屏幕中的位置画雨滴,moveTo(x,y)

雨滴的长度就是lineTo(x,y+len)

每次重新绘制页面,就能达到下雨的效果了

        //canvas宽为650,高为474
        //angle为倾斜的角度,Len为雨滴的长度,count为雨滴的数量
        var W = 650, H = 474, ctx, angle = 0, len = 20, count = 50;
        var canvas =document.getElementById("myCanvas");
        ctx = canvas.getContext(‘2d‘);            

        ctx.strokeStyle = ‘rgba(255, 255, 255, 0.2)‘;
        var run = setInterval(draw, 100);     

        function draw() {
            //清除上一帧
            ctx.clearRect(0, 0, W, H);
            //重新绘制
            xiayus();
        }           

        function xiayu(x, y, r) {
            ctx.beginPath();
            ctx.moveTo(x, y);                

            ctx.lineTo(x + angle, y + len);
            ctx.lineWidth = 2;
            ctx.stroke();
        }
        function xiayus() {
            for (var i = 1; i <= count; i++) {
                xiayu(Math.random() * W, Math.random() * H, angle);
            }
        }
时间: 2024-10-14 23:08:18

canvas简单下雨特效的相关文章

canvas之背景特效

需具备js基础知识以及canvas相关方法(可查阅相关文档) 下面是一篇有关js与canvas的背景特效 基于面向过程的思维 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } #canvas { displ

html5 canvas简单的直线路径

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

H5之canvas简单入门

<canvas></canvas>是html5出现的新标签,像所有的dom对象一样它有自己本身的属性.方法和事件,其中就有绘图的方法,js能够调用它来进行绘图 <canvas id="myCanvas" width="400" height="400"></canvas>默认宽度300px,默认高度 150px; 下面是简单的语法,是必须要记住的. 绘图路径: beginPath() :开始路径 c

24.Android之Paint和canvas简单应用学习

在Android中需要通过graphics类来显示2D图形,graphics中包括了Canvas(画布).Paint(画笔).Color(颜色).Bitmap(图像)等常用的类.graphics具有绘制点.线.颜色.2D几何图形.图像处理等功能. 1.Paint(画笔)类 要绘制图形,首先得调整画笔,按照自己的开发需要设置画笔的相关属性.Pain类的常用属性设置方法如下: setAntiAlias(); //设置画笔的锯齿效果 setColor(); //设置画笔的颜色 setARGB(); /

HTML5 canvas图片爆炸特效

这是一款基于html5 canvas的炫酷图片爆炸飞散特效js插件.该js插件当用鼠标点击图片时,图片会有玻璃窗被子弹击碎时的爆炸飞散效果,非常炫酷. 在线演示:http://www.htmleaf.com/Demo/201502151384.html 下载地址:http://www.htmleaf.com/html5/html5-canvas/201502151383.html

一个简单的特效引发的大战之移动开发中我为什么放弃jquery mobile

我本想安静的做一个美男子,可是,老板不涨工资,反而,一月不如一月. 我为什么放弃jquery mobile插件选择自己写特效? 在开发中大家都知道效率很重要,一个好的工具可以在开发中大大提升效率,工作做的越多,相应的取得的报酬也就越多,相反就是我自己了. 最近一直在一件事情上,移动线上网站测试必须符合3星,将不合格的网站调优后保证3星,方便线上推广,难免会遇见一些问题,大致为题后期会写一篇随笔总结,“移动开发中网站如何优化”.其中遇见的一个问题就是JS文件过大,CSS文件过大,之前项目一直使用的

Android - Canvas 简单总结

在自定义控件时,经常需要使用canvas.paint等,在canvas类中,绘画基本都是靠drawXXX()方法来完成的,在这些方法中,很多时候都需要用到paint类型的参数,本文先对paint类常用的一些设置做个简单总结 paint 属性设置简单总结 图形绘制相关: public void set(Paint src)  根据已有画笔的属性进行赋值 public void setColor(int color) 设置颜色 public void setAlpha(int alpha) 设置透明

canvas - 简单画板

截图: Demo:Demo 上代码:. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin:0;padding:0; } body{ } canvas{ background-color: #fff;border:1px sol

canvas简单的介绍

<canvas></canvas> 标签定义图形,比如图表和其他图像;它只是图形容器,您必须使用脚本来绘制图形. 所以使用canvas,主要是写很多javaScript来实现它的功能. 使用canvas,首先要定义canvas画布在body里面的范围: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5