如何在不清除的情况下更改Easel.js中的线坐标?

时间:2014-04-30 02:40:19

标签: canvas easeljs

在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);

如何在更改线条坐标时保留其他属性,如笔触颜色。我在移动物体之间画一条线。应该有一个更优雅的方式。

1 个答案:

答案 0 :(得分:2)

这就是EaselJS的工作原理。您必须重绘Shape才能更改它。这对性能的影响很小,因为必须在舞台更新时再次绘制形状。

执行此操作的最佳方法是使用重绘程序清除并在其更改时绘制形状。

您可以查看Graphics.inject方法,这是一种将可变指令注入图形路径的方法。 GitHub上有一个名为&#34; Graphics_inject.html&#34;

的示例