节点的KineticJS id

时间:2012-12-28 23:57:13

标签: kineticjs

我正在使用for()语句创建矩形节点,现在我需要获取每个节点的引用。接缝是要创建这些画布对象的一些黑魔法,所以它使得很难访问没有id引用的项目。  有人可以清除这一点或指出我正确的方向吗?

for(x=1;x<=8;x++)
  {

  var rect = new Kinetic.Rect({
    x: 300,
    y: 80+offset,
    width: 60,
    height: 20,
    fill: 'white',
    stroke: 'black',
    strokeWidth: 1,
    draggable: false
  });
rect.on('mouseover', function() {
    writeMessage(messageLayer, this.getY());
  });
  // add the shape to the layer
  layer.add(rect);

offset += 120;

由于

1 个答案:

答案 0 :(得分:1)

你应该能够使用layer.getChildren();来访问每个人,这将返回所有这些,或者如果你知道你需要哪一个,layer.getChildren()[0];,它将获得第一个。 虽然我会给每个人一个名字,以使其更容易。

for(x=1;x<=8;x++)
{
  var rect = new Kinetic.Rect({
  name: 'rct'+x,
  x: 300,
  y: 80+offset,
  width: 60,
  height: 20,
  fill: 'white',
  stroke: 'black',
  strokeWidth: 1,
  draggable: false
  });
}

然后您可以使用layer.get('.rct3');layer.get('.rct3')[0];