canvas画布画直线并左右移动

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>

</head>

<body style="text-align:center; margin-top:100px;">

<canvas id="hls" width="400" height="300" style="background:#FFF;border:#000 1px solid;"></canvas>

</body>
<script>
var c=document.getElementById("hls");  //获取画布
var cxt=c.getContext("2d");	//获取****
var x=10;	//初始化坐标
var ok=false;	//判断直线位置

//画直线1
function draw(){
	cxt.beginPath();
	cxt.moveTo(x,10);	//起点
	cxt.lineTo(x,290);		//末点
	cxt.stroke();	

}

//画直线2
function draw2(){
	cxt.beginPath();
	cxt.moveTo(x+8,10);	//起点
	cxt.lineTo(x+8,290);		//末点
	cxt.stroke();	

}
//初始化定时器
var t=null;

//定义方法
function scan(){
	
	//10毫秒执行一次
	t=setInterval(function(){	
	cxt.clearRect(0,0,c.width,c.height);	//每次清空上次画布
	draw(); 	//画本次直线1
	draw2();	//画本次直线2
	
	if(!ok){	//ok为false,直线到达左边
		x++;	//直线右移动1位
	}
	else{	//ok为true,直线到达右边
		x--;	//直线左移动1位
	}

	if(x>390) ok=true;		//直线到达右边(即将左移动),ok为true
	if(x<=10) ok=false;		//直线到达左边(即将右移动),ok为false
		
	},10)	
}
	
scan();		//调用函数执行

</script>
</html>

或者下面代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>

</head>

<body style="text-align:center; margin-top:100px;">
<canvas id="hls" width="400" height="300" style="background:#FFF;border:#000 1px solid;"></canvas>
</body>
<script>
var c=document.getElementById("hls");  //获取画布
var cxt=c.getContext("2d");	//获取****
var x=10;	//初始化坐标
var ok=false;

function draw(){
	cxt.beginPath();
	cxt.moveTo(10,10);	//起点
	cxt.lineTo(10,290);		//末点
	cxt.stroke();	

}

var t=null;
function scan(){
	
	//100毫秒执行一次
	t=setInterval(function(){	
	cxt.clearRect(0,0,c.width,c.height);
	draw(); 
	
		if(!ok){
			x++;
			cxt.translate(1,0);	
		}
		else{
			x--;
			cxt.translate(-1,0);	
		}

		if(x>390) ok=true;
		if(x<=10) ok=false;	
		
	},10)	
}
	
scan();

</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值