2012-12-28 2 views
1

for() 문을 사용하여 사각형 노드를 만들었으며 이제 각 노드에 대한 참조를 가져와야합니다. 이 캔버스 객체를 생성하기 위해 검은 색 마술을하기 위해 솔기가 생기므로 ID를 사용하지 않고 항목을 참조하기가 어렵습니다. 누군가이를 정리하거나 올바른 방향으로 나를 가리킬 수 있습니까?KineticJS 노드의 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; 

감사

+0

코드 샘플을 공유해주십시오. 편집하고 되돌릴 수 있습니다. – Ani

답변

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];를 사용할 수 있습니다.

+0

감사합니다. Ronan, 나는 그들을 구분할 수 있도록 이드와이 름을 줄 수있었습니다. 나는 그것이 최선의 방법이라고 생각한다. – mike628

관련 문제