Createjs应用线性渐变笔划

时间:2015-10-07 06:15:17

标签: javascript svg createjs linear-gradients

使用Createjs代替Kinetics编写Web应用程序。我对createjs SVG很感兴趣。无论如何,我不知道我是否在浪费时间。我只想尝试在线性渐变按钮上添加笔划。动力学很容易,创造,而不是。

我不明白为什么他们为同一件事包括许多不同的类(矩形,图形,正确,形状)。干得好。我试图将电话联系起来。

var bttn = new c.Shape();
        bttn.graphics.beginLinearGradientFill(["blue", "white"], [.2, .9], 0, 0,0,50 ).drawRoundRect(100, 10, 80, 35,5).setStrokeStyle(13).beginLinearGradientStroke(["black", "blue"], [.2, .9], 0, 0,0,50 );

然而,当我运行它时,我得到了带渐变的矩形,但没有笔画。查看文档,他们发布属性beginLinearGradientStroke的格式并将其应用于新的矩形,并且矩形没有填充。这会绘制笔划,但不会附加到原始对象。

bttn.graphics.setStrokeStyle(13).beginLinearGradientStroke(["black", "blue"], [.2, .9], 0, 0,0,50 ).drawRect(20, 20, 120, 120);

我在这里缺少什么?

感谢。

1 个答案:

答案 0 :(得分:2)

EaselJS使用一个模型来定义笔触和填充,然后使用这些样式进行绘制。所以你只需要在绘制矩形之前调整代码来定义笔划:

var bttn = new c.Shape();
        bttn.graphics.beginLinearGradientFill(["blue", "white"], [.2, .9], 0, 0,0,50 ).setStrokeStyle(13).beginLinearGradientStroke(["black", "blue"], [.2, .9], 0, 0,0,50 ).drawRoundRect(100, 10, 80, 35,5);

为了解决你的另一个问题,CreateJS中的Rectangle代表一个几何矩形 - 它是一个用于存储表示矩形的数据的类,以及操纵矩形的方法,它不会绘制任何东西。