js实现移动的小车例子,点击按钮小车移动


学习内容

如何使用画布和纯js实现移动的小车?

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>使用画布和js做的一个移动小车</title>
	</head>
	<body>
	<canvas id="canvas" height="400px" width="1500px"></canvas>
	<hr />
	<button onclick="Go()">gogogo</button>
	</body>
	<script>
		    var t = document.getElementById('canvas').getContext('2d');
			var i=null//计时器
		    var x=0;
		    t.strokeStyle ="#333333";    
			   
		    t.beginPath();
		    t.rect(30, 30, 600, 250);
		    t.stroke();//车身的长方形
					
			t.beginPath();
		    t.arc(478, 278, 69, 0, Math.PI*2);
		    t.stroke();//右边的车轮
			  
		    t.beginPath();
		    t.arc(168, 278, 69, 0, Math.PI*2);
		    t.stroke();//左边的车轮
			  
			t.beginPath();
			t.rect(448, 68, 119, 119);
			t.stroke();//车头的车窗
		    
			t.beginPath();
			t.rect(248, 68, 79, 79);
			t.stroke();
			
			t.beginPath();
			t.rect(148, 68, 79, 79);
			t.stroke();
			
			t.beginPath();
			t.rect(48, 68, 79, 79);
			t.stroke();
		
		   function Go(){
			  window.clearInterval(i);//关闭定时器i
			  
		// 设置计时器i
		i=setInterval(function(){ 
		    t.clearRect(0,0,1500,400);//清除之前在画布画的内容
		    t.beginPath();
		    t.rect(30+x, 30, 600, 250);
		    t.stroke();
		 
			t.beginPath();
			t.rect(448+x, 68, 119, 119);
			t.stroke();
		 
		    t.beginPath();
		    t.arc(168+x, 278, 69, 0, Math.PI*2);
		    t.stroke();
		
		    t.beginPath();
		    t.arc(478+x, 278, 69, 0, Math.PI*2);
		    t.stroke();
			
			t.beginPath();
			t.rect(248+x, 68, 79, 79);
			t.stroke();
			
			t.beginPath();
			t.rect(148+x, 68, 79, 79);
			t.stroke();
			
			t.beginPath();
			t.rect(48+x, 68, 79, 79);
			t.stroke();
			
			x+=15;//每次x+15
					
		 },30) //30毫秒执行一次
		   }
	
	</script>
</html>

效果图片


描述:点击按钮小车会向右方运动。

项目例子

点击跳转:移动小车例子

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值