JS实现小球运动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			canvas{
				border: 1px solid gray;		
			}
		</style>
	</head>
	<body>
		<canvas id="can" width="800" height="600"></canvas>
	</body>
	<script type="text/javascript">
		var can=document.getElementById("can");
		var ctx=can.getContext("2d");
		
		var x=100;
		function Ball(x,y,r,cl,sp){
			this.x=x;
			this.y=y;
			this.r=r;
			this.cl=cl;
			this.sp=sp;
		}
		Ball.prototype.update=function(){
			this.x+=this.sp;
		}
		Ball.prototype.render=function(){
			ctx.beginPath();
			ctx.arc(this.x,this.y,this.r,0,2*Math.PI);
				ctx.fillStyle=this.cl;
				ctx.closePath();
				ctx.fill();
		}
		var objArr=[];
		for(var i=0;i<20;i++)
		{
			var r=parseInt(Math.random()*60+1);
			var sp=parseInt(Math.random()*5+1);
			var cl="rgba("+parseInt(Math.random()*256)+","+
			parseInt(Math.random()*256)+","+
			parseInt(Math.random()*256)+",0.8)";
			var ball=new Ball(x,20+i*50,r,cl,sp);
			objArr[i]=ball;
		}
		
		setInterval(function(){
			ctx.clearRect(0,0,800,600);
			for(var i=0;i<objArr.length;i++)
			{
				objArr[i].update();
				objArr[i].render();
			}
		},1000/30);
	</script>
</html>

 

实现结果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值