JSFL setCustomStroke不适用于stroke.style =“noStroke”

时间:2011-02-02 01:40:36

标签: flash flash-cs4 jsfl

所以我在搞乱JSFL,我想把storke设置为None。应该这样做:

var stroke = fl.getDocumentDOM().getCustomStroke("toolbar");
stroke.style = "noStroke";
fl.getDocumentDOM().setCustomStroke(stroke);

但这不起作用。

用填充工作做相应的事情! (我对填充物没有任何麻烦!)

如果我在工具栏中手动将storke设置为“None”(使用颜色选择器),然后执行:

var stroke = fl.getDocumentDOM().getCustomStroke("toolbar");
stroke.style = "solid";
stroke.color = "#0066ff";
fl.getDocumentDOM().setCustomStroke(stroke);

我得到一个固定的storke,其值为:00 00 00 00(0 alpha,0 red,0 green,0 blue)。 (使用颜色工具栏通常是不可能的)

如果我再次执行该命令,我会得到正确的笔触颜色! (如果我有任何正常的纯色,它也有效。如果笔划是渐变或位图,则没有任何反应。)

正如我所提到的,在设置填充物方面一直没有任何问题。只有笔画。

3 个答案:

答案 0 :(得分:3)

我也遇到过这个不允许你设置“noStroke”的错误。不过,我找到了一个解决方法。交换笔划并填充,然后将填充设置为“noFill”并换回。像这样:

var dom = fl.getDocumentDOM();
dom.swapStrokeAndFill();
var tempFill = dom.getCustomFill("toolbar");
tempFill.style = "noFill";
dom.setCustomFill(tempFill);
dom.swapStrokeAndFill();

答案 1 :(得分:1)

实际上,您可以将值设置为“null”,并将颜色设置为无颜色。

答案 2 :(得分:1)

似乎setCustomStroke(mystroke)仅在mystroke.style="solid"时将笔画设置为无,并且没有其他属性。您不必使用mystroke获取getCustomStroke。它可以是通用对象,只有一个属性style设置为solid

var mystroke=new Object();
mystroke.style="solid";
fl.getDocumentDOM().setCustomStroke(mystroke);