canvas手指滑动画图的问题
发布于 7 年前 作者 vhu 7116 次浏览 来自 问答
<canvas disable-scroll="true" bindtouchstart="start" bindtouchmove="move" bindtouchend="end" class="draw" canvas-id="draw"  />
start: function(event) {
  ctx.beginPath();
  ctx.moveTo(event.changedTouches[0].x, event.changedTouches[0].y);
},

move: function(event) {  

  ctx.lineTo(event.changedTouches[0].x, event.changedTouches[0].y);

  ctx.stroke();

  ctx.draw(true);

}

为什么用手滑动的时候只能画开始的一点,之后的线就不显示了?而在move中做个限定,外部给个计数器,就可以,但是只能画虚线了?

var ii = 0;


......

start: function(event) {

  ctx.beginPath();
  ctx.moveTo(event.changedTouches[0].x, event.changedTouches[0].y);
},
move: function(event) { 
  ctx.lineTo(event.changedTouches[0].x, event.changedTouches[0].y);

  ctx.stroke();

if (ii > 1) {

    ii = 0;

    ctx.draw(true);

  } else {

    ii++;

  }

}
1 回复

测试过了,用lineto的时候多次调用draw(),就会不显示后边的线,所以数据要存起来,每次重新绘制,我觉得是bug

回到顶部