码迷,mamicode.com
首页 > 其他好文 > 详细

多个气泡向上冒出!

时间:2015-11-22 15:57:16      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

这里展示白色半透明气泡如下图:实际是动态

技术分享

思路:HTML里只需要一个CANVAS元素,Javascript里操作canvas

1、给canvas里绘制背景图片

2、在绘制半径为0-10px的圆形,x坐标屏幕水平随机,y所标竖直大于屏幕高度。

  圆形背景色可以是随机。那就是各种色彩了!

  利用计时器控制y--

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>5多个小球往上运动</title>
  <style>
  </style>
 </head>
 <body>
    <div id="d1">
        <canvas id="canvas"></canvas>
    </div>
 </body>
</html>
	<script>
		var canvas=document.getElementById("canvas");
		var context=canvas.getContext("2d");
		canvas.width=window.innerWidth;
		canvas.height=window.innerHeight;
		function Circle(){
			this.x=Math.random()*canvas.width;
			this.y=canvas.height;
			this.r=Math.random()*10;
			//绘制圆形
			this.paint=function(){
				context.beginPath();
				context.arc(this.x,this.y,this.r,0,Math.PI*2);
				context.fillStyle="white";
				context.globalAlpha = 0.5;
				context.fill();
			}
			//控制圆形移动
			this.step=function(){
				this.y--;
			}
		}
		var circles=[];
		function createCircles(){
			var circle=new Circle();//??????
			circles[circles.length]=circle;
		}

		function paintCircles(){
			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="images/demo-1.png";
		var timer="";
		setInterval(function(){
			context.drawImage(myimg,0,0);
			timer++;
			if(timer%20==0){
				createCircles();
			}
			paintCircles();
			stepCircles();
		},10);
	</script>

  

多个气泡向上冒出!

标签:

原文地址:http://www.cnblogs.com/-walker/p/4985879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!