在kineticjs中添加一组形状到图层中

Adding an array of shapes into a layer in kineticjs

本文关键字:一组 图层 kineticjs 添加      更新时间:2023-09-26

我试图在kineticJS中附加一个形状数组到图层,到目前为止,这是我所做的:

elementContainer = {
    start: buildCircle(75, 75),
    activity: buildActivity(150, 50),
    end: buildCircle(250+25, 50+25)
 };

当我尝试像这样添加数组时

linesLayer.add(elementContainer);

我得到一个异常,有以下消息:

未捕获的类型错误:对象#没有方法'getType'Kinetic.Util.addMethods kinetic.min.js: 4。_validateAdd kinetic.min.js: 4添加Kinetic.Util.addMethods.add kinetic.min.js:3(索引):163 jQuery.event.dispatch jquery-2.1.0.js:4371 elemData.handle

这是JSFiddle

正如lavrton所说,每个元素必须单独添加,但如果您需要更改elementsContainer中元素的数量或名称,而不是硬编码,则可能需要使用循环。

for (var key in elementContainer) {
    layer.add(elementContainer[key]);
}
http://jsfiddle.net/ze6nj/

分别添加:

layer.add(elementContainer.start).add(elementContainer.activity).add(elementContainer.end);
http://jsfiddle.net/5WpP5/2/