更改形状的描边颜色 - EaselJS

Change stroke color of shape - EaselJS

我想更改线条的描边颜色(点击按下)绘制为:

var currentLine = new createjs.Shape();
currentLine.graphics.moveTo(startX, startY).setStrokeStyle(4).beginStroke(tempLineColor).lineTo(target.x, target.y).endStroke();

我尝试了此处提到的图形 (currentLine.graphics.command) 的 "command" 属性:http://createjs.com/docs/easeljs/classes/Graphics.html

但它没有用,因为它 returns "undefined"。 任何帮助将不胜感激。

Fiddle: http://jsfiddle.net/86f7gz6b/19/

您提供的fiddle使用的是2013年的旧版本CreateJS,不支持Graphics命令(命令是在2014年12月发布的0.8.0版本中添加的)。我已经用最新的 (0.8.2) 更新了你的 fiddle,但请注意 JSFiddle 也有 0.8.1(CreateJS 2015.05.21 的一部分),它也可以工作。

命令方法很简单,把最后一个graphics.command存下来,以后修改它的style值即可。

shape.graphics.setStrokeStyle(4);
var cmd = shape.graphics.beginStroke("red").command; // <- note the command
shape.graphics.moveTo(0,0).lineTo(100,100);
stage.update();
// Later
cmd.style = "blue";
stage.update();

也可以链式指令,.command将return最后一条指令命令:

// Gets the beginStroke command
var cmd = shape.graphics.setStrokeStyle(4).graphics.beginStroke("red").command;

为了使您的示例工作,我必须更改一件事:必须将初始 moveTo 命令放在 beginStroke 之后,作为开始笔划或fill 将重置路径命令,因此您的示例将不起作用(EaselJS 必须具有初始 moveTo 才能使单个 lineTo 起作用。

这是更新后的 fiddle:http://jsfiddle.net/lannymcnie/86f7gz6b/21/

干杯,