收藏
回答

canvas手指滑动画图的问题

问题模块
API和组件
<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++;

  }

}


最后一次编辑于  2017-05-04  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 淼
    2018-02-05


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

    2018-02-05
    赞同
    回复