在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);
如何在更改线条坐标时保留其他属性,如笔触颜色。我在移动物体之间画一条线。应该有一个更优雅的方式。
这就是EaselJS的工作原理。您必须重绘Shape才能更改它。这对性能影响很小,因为必须在舞台更新时再次绘制形状。
执行此操作的最佳方法是使用重绘例程,该例程在更改时清除并绘制形状。
您可以查看Graphics.inject
方法,这是一种将可变指令注入Graphics路径的方法。 GitHub上有一个名为“Graphics_inject.html”的示例