请教一下大佬们,画线回退的问题要怎么解决呀?

用Graphic组件画线,画完线之后想让线条从终点到起点逐渐消失。

组件有个point数组存画线点的位置数据,你可以不停的移除这个数组最后面的数据,知道数组长度为0

比如说路径一共有100个点,循环99次,每次从第一个点画到最后一个点,画完一次之后pop数组一次,这样会不会导致性能消耗很大啊 :slightly_frowning_face:

使用Grap组件做画线,然后需要逐渐消失,每消失一点都重绘线段这是必须的,至于性能其实没有想象的大,因为你是逐渐消失,也就是在N帧内,这个操作可以只执行一次,并不需要一个个剔除数组里的点,因为肉眼是分辨不出来。

大佬,你说的这个操作只执行一次具体含义指的是循环嵌套这个操作吗?

你可以用一个计时器去执行"减少数组长度"的操作。

行,我试试

image
大佬,我这样写之后,运行浏览器会崩溃,emmmmm points里面有125个点

let timerId=-1;
timerId= setInterval(()=>{
pathpoints.pop();
if(pathpoints.length<2){
//停止计时器
clearInterval(timerId);
}else{
this.drawLine(pathPoints);
}
},10)