canvas特效:下雨效果

canvas做出美爆了了下雨效果,本效果原创

雨点大小可自己调节,页面代码如下:

<body>
<canvas id="canvas" width="2000px" height="1200px"></canvas>
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");

//构建构造函数 创建圆形
function Circle()
{
this.x = Math.random()*canvas.width;
this.y = -10;
this.width=Math.random()*2;
this.height = Math.random()*30;

//画一个圆
this.paint = function(){
context.beginPath();

context.fillStyle="rgba(255,255,255,0.3)";
context.fillRect(this.x,this.y,this.width,this.height);
context.fill();
}

//设置步数
this.step = function(){
this.y+=8;
}
}

//定义一个全局数组,盛放圆片数组,初始化为0
var circles = [];

//将一个圆片放入圆的数组中
function createCircles(){
var circle = new Circle();
circles[circles.length] = circle;
}

//将圆画出来
function paintCircls(){
for(var i=0;i<circles.length;i++){
circles[i].paint();
}
}

//将圆画出来
function stepCircles(){
for(var i=0;i<circles.length;i++){
circles[i].step();
}
}

var myimg = new Image();
myimg.src = "demo-2-bg.jpg";

var time = 0;
setInterval(
function(){
context.drawImage(myimg,0,0); //刷新背景图片
time++;
if(time%3==0){
createCircles(); //新生成一个圆
}
paintCircls(); //将当前页面所有圆绘出来
stepCircles(); //圆向下走
},10);

</script>
</body>

that‘s all! 换上不同图片就OK了

时间: 2024-10-24 16:06:02

canvas特效:下雨效果的相关文章

H TML5 之 (6)下雨效果

在对HTML5进行研究之后,有了一点想法,思考出游戏其实感觉就是四个步骤 1.创建一个你需要的对象,赋予属性(一些影响方法的属性),方法(运动,叫....) 2.实例化这个对象,让它成为一个或者多个个体 3.画图方法,画出你所需要画出的对象的外形 4.调用画图方法,将实例化后的对象传进去,一个对象实例化后的外形就出来了,剩下的就是思考该在合适显示这个外形, 就达到游戏的基本思想了, <!DOCTYPE HTML> <html> <head> <title>S

canvas之太阳系效果

星球 变量名 公转周期 光色 暗色 水星 Mercury 87.70 #a69697 #5c3e40 金星 Venus 224.701.70 #c4bbac #1f1315 地球 Earth 365.2422 #78b1e8 #050c12 火星 Mars 686.98 #cec9b6 #76422d 木星 Jupiter 4332.589 #c0a48e #322 土星 Saturn 10759.95 #f7f9e3 #5c4553 天王星 Uranus 30799.095 #a7e115 #

canvas动画文字效果

Doughnut Chartvar c=document.getElementById("canvas");var ctx=c.getContext("2d");ctx.font="50px sans-serif";ctx.fillText("75%",40,92);//ctx.clearRect(40, 52, 74, 68); var c=document.getElementById("canvas"

6 cocos2dx粒子效果,类图关系,系统原生粒子和自己定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果

?? 1 粒子 演示样例 2 类图关系 3 系统原生粒子 CCParticleSystem 全部粒子系统的父类 CCParticleSystemPoint. CCParticleSystemQuad 点粒子和方形粒子系统,都继承了CCParticleSystem的全部属性 CCParticleExplosion 爆炸粒子效果 CCParticleFireworks 烟花粒子效果 CCParticleFire 火焰粒子效果 CCParticleMetepr 流行粒子效果 CCParticleSpi

6 cocos2dx粒子效果,类图关系,系统原生粒子和自定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果

 1 粒子 示例 2 类图关系 3 系统原生粒子 CCParticleSystem 所有粒子系统的父类 CCParticleSystemPoint. CCParticleSystemQuad 点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性 CCParticleExplosion 爆炸粒子效果 CCParticleFireworks 烟花粒子效果 CCParticleFire 火焰粒子效果 CCParticleMetepr 流行粒子效果 CCParticleSpira

Windows界面编程第十二篇 位图显示特效 飞入效果与伸展效果

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8696726 欢迎关注微博:http://weibo.com/MoreWindows Windows界面编程之位图显示特效系列目录: 1. <Windows界面编程第九篇位图显示特效交错效果> http:/

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.getElementByI

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

效果图 1.做出canvas画布和声明一个用来存储雨滴的数组 var c=document.getElementById('myCanvas'); var ctx= c.getContext('2d'); var ary=[]; 2.将雨滴的位置.大小得到 var x=Math.random()*1000;//在画布内随机生成雨滴x轴位置 var width=Math.random()*3;//随机生成雨滴宽度 var h=Math.random()*50+10;//随机生成雨滴长度 var y

Android特效--粒子效果之雨

1. 单个雨点的行为 2. 完善雨点的行为和构造下雨场景 3. 在XML中定义可以控制下雨的属性 ------------------------------------------------------ 1. 单个雨点的行为: 一条线段在运动 起始点:startX , startY; 终止点:stopX,  stopY; 自定义View的框架类 public abstract class BaseView extends View { Thread thread; public BaseVi