1

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;

ありがとう

4

1 に答える 1

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];

于 2012-12-29T16:31:45.867 に答える