[英]Adding an array of shapes into a layer in kineticjs
I'm trying to attach an array of shapes to layer in kineticJS, so far this is what I've done: 我正在尝试将一系列形状附加到dynamicJS的图层上,到目前为止,这是我已经完成的工作:
elementContainer = {
start: buildCircle(75, 75),
activity: buildActivity(150, 50),
end: buildCircle(250+25, 50+25)
};
when I try to add the array like this 当我尝试添加这样的数组时
linesLayer.add(elementContainer);
I get an exception with the following message: 我收到以下消息异常:
Uncaught TypeError: Object # has no method 'getType' kinetic.min.js:4 Kinetic.Util.addMethods._validateAdd kinetic.min.js:4 Kinetic.Util.addMethods.add kinetic.min.js:3 (anonymous function) (index):163 jQuery.event.dispatch jquery-2.1.0.js:4371 elemData.handle
未捕获到的TypeError:对象#没有方法'getType'dynamic.min.js:4 Kinetic.Util.addMethods._validateAdd dynamic.min.js:4 Kinetic.Util.addMethods.adddynamic.min.js:3(匿名函数) (索引):163 jQuery.event.dispatch jquery-2.1.0.js:4371 elemData.handle
Add them separetly: 分别添加它们:
layer.add(elementContainer.start).add(elementContainer.activity).add(elementContainer.end);
As lavrton said, each element must be added individually, but you may want to use a loop in case you ever need to change the number or names of elements in elementsContainer
instead of hard coding them. 正如lavrton所说,每个元素必须单独添加,但是如果您需要更改elementsContainer中
elementsContainer
的数量或名称而不是对其进行硬编码,则可能需要使用循环。
for (var key in elementContainer) {
layer.add(elementContainer[key]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.