2013-08-14 4 views
0

키네틱 그룹을 반복 할 수 있습니까?키네틱 그룹을 반복하는 방법

Layer 
    -ParentGroup 
    -kinetic image 
    - childGroup 
     - kinetic rectangle 
     -kinetic text 

나는 단 하나 개의 운동 이미지를 가지고 있지만, 여러 childGroups을 : 여기 내가 가진 것입니다. 각 childGroup에는 고유 한 레이블이 있습니다 (2 개의 chilGroup에는 동일한 레이블을 사용할 수 없습니다). 이제 label = 1 인 childGroup을 삭제하려고한다고 가정 해 봅시다. 올바른 하위 그룹을 선택해야합니다. childGroup.hide()

모든 운동 그룹에 대해 반복 할 수있는 방법이 있습니까?

감사합니다. 이처럼 http://kineticjs.com/docs/Kinetic.Container.html#get

:

답변

1

(@projeqht는 의견 제안)이 같은 라벨을 사용하여 애니 get() 기능을 사용할 때 적합합니다. 지정된 컨테이너 내부의 모든 운동 그룹 객체의 배열을 반환

var groups = layer.get('Group') 

(:

은 할 수 있습니다이 같은 get() 기능을 사용하여 모든 Kinetic.Groups 이상 반복 할 특히 귀하의 질문에 대답하려면 이 경우에, 그런데 layer)

당신은 당신이 사용해야 중 하나 운동 노드를 삭제 wan't 경우 destroy 또는 remove

0

당신은 여기에 설명 된 get() 기능을 사용할 수 있습니다

var childGroup = ParentGroup.get('.child1')[0]; 
childGroup.hide(); // to hide OR 
childGroup.remove(); // to remove but preserve data that can still be referenced 
childGroup.destroy(); // to completely delete it 

또는

var childGroup = ParentGroup.get('#child1')[0]; 
childGroup.hide(); // childGroup.remove(); 
+0

나는 **. names **를 사용하여 클래스와 같이 여러 오브젝트를 그룹화하고 선택하는 대신, ** # id **를 사용하여 제안한 방식으로 ** 하나 ** 특정 그룹을 선택하도록 예약합니다. 이렇게 : container.get ('# child1') [0]; @ user1499220에 명시된대로 각 그룹에는 ** 고유 한 ** 레이블이 있으므로 각 그룹도 ** 고유 ** 여야합니다. – projeqht

+0

@Ani, 답변 해 주셔서 감사합니다. 한 가지 더 질문이 있습니다. kineticJS 및 javascript에서 클릭 이벤트가 발생하는 그룹 ID를 확인할 수 있습니까? 기본적으로 레이어에 많은 모양이 있으며, 그 중 하나를 클릭하면 클릭하는 ID 모양을 알고 싶습니다. 사전에 감사합니다. – user1499220

+0

@ user1499220 클릭 이벤트를 처리하고 'this'라는 키워드를 사용하여 처리기 내부의 ID에 액세스하는 데 필요한 모든 개체에 이벤트 처리기를 바인딩 할 수 있습니다. – Ani

관련 문제