canvas简单下雨特效

Posted 安筱雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);                
            }            
        }        
  

 

以上是关于canvas简单下雨特效的主要内容,如果未能解决你的问题,请参考以下文章

(自己看)HTML5 Canvas下雨动画DEMO演示

Canvas制作的下雨动画

canvas 让你呼风唤雨,下雨下雪效果

canvas用数组方式做出下雨效果

自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,&quot;掏粪男孩Gif&quot;顺便再提提onWindowFocusChanged)(代码片段

有趣的css—简单的下雨效果2.0版