2014-04-30 28 views
0

在Easel.js你畫這樣一行:如何更改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

這是EaselJS的工作原理。你必須重新繪製形狀來改變它。這對性能影響很小,因爲每當舞臺更新時都必須再次繪製形狀。

要做到這一點的最好方法是有一個重繪例程,它會在更改時清除並繪製該形狀。

您可以查看Graphics.inject方法,這是一種將可變指令注入圖形路徑的方法。 GitHub上有一個名爲「Graphics_inject.html」的示例:

相關問題