在Easel.js中你画一条这样的一行:
lineE.graphics
.moveTo(x1,y1)
.setStrokeStyle(3)
.beginStroke("black")
.lineTo(x2,y2);
但是为了改变它的坐标,我不得不抹去所有东西:
lineE.graphics
.clear() <-----------Why??????
.moveTo(newX1,newY1)
.setStrokeStyle(3)
.beginStroke("black")
.lineTo(newX2,newY2);
如何在更改线条坐标时保留其他属性,如笔触颜色。我在移动物体之间画一条线。应该有一个更优雅的方式。
答案 0 :(得分:2)
这就是EaselJS的工作原理。您必须重绘Shape才能更改它。这对性能的影响很小,因为必须在舞台更新时再次绘制形状。
执行此操作的最佳方法是使用重绘程序清除并在其更改时绘制形状。
您可以查看Graphics.inject
方法,这是一种将可变指令注入图形路径的方法。 GitHub上有一个名为&#34; Graphics_inject.html&#34;