html画布物体左右移动,canvas画布画直线并左右移动

无标题文档

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();//调用函数执行

或者下面代码

无标题文档

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();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值