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

问题描述 投票:0回答:1

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

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

canvas easeljs
1个回答
2
投票

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

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

您可以查看Graphics.inject方法,这是一种将可变指令注入Graphics路径的方法。 GitHub上有一个名为“Graphics_inject.html”的示例

© www.soinside.com 2019 - 2024. All rights reserved.