[英]How are objects stored within a Kinetic.Layer within Kineticjs?
我目前正在使用for循环在单独的数组中使用一组预定的坐标来创建三角形网格。
像这样:
function createTri(x, y, z, a) {
var tri = new Kinetic.RegularPolygon({
id: a,
x: x,
y: y,
sides: 3,
radius: 15,
rotation: z,
fillRed: 17,
fillGreen: 17,
fillBlue: 17,
closed: true,
shadowColor: '#5febff',
shadowBlur: 5,
shadowOpacity: 0.18
});
layer.add(tri);
}
for (var i = 0; i < pax.length; i++){
for (var j = 0; j < pax[i].length; j++){
createTri(pax[i][j][0],pax[i][j][1],pax[i][j][2],(i+'')+(j+''));
};
}
但是,当我尝试从图层容器返回特定ID的console.log()
时,除了代码而不是ID号,我什么都没得到。
我不能完全确定我是否称其为Kinetic是错误的,或者一般来说是错误的。
因此,我想我需要知道通过id属性调用对象的正常方式是什么,或者如何从Kinetic.Layer中正确调用它。
编辑:阐明,如何在Kinetic文档node.find('selector);
我如何调用它定义为node.find('selector);
,因此尝试按ID查找时,我尝试登录到控制台: console.log(layer.find('#1674'));
但是,当我这样做时,控制台会记录一个具有所有可能关联功能的原型对象,而不是试图调用的对象Im。
我怀疑问题的根源在于三角形对象的ID并非您期望的那样。
您应该在Chrome中看到以下内容:
[Kinetic.RegularPolygon, each: function, toArray: function, _init: function, _clearCache: function, _getCache: function…]
你看到了吗?
[each: function, toArray: function, _init: function, _clearCache: function, _getCache: function…]
这就是我为图层的find
方法提供无效ID时得到的。
这里有个小提琴来说明: http : //jsfiddle.net/klenwell/Tn5bm/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.