如何迭代动力学群体

时间:2013-08-14 22:14:58

标签: javascript kineticjs

是否有可能迭代动力学群体? 这就是我所拥有的:

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

我只有一个动态图像,但有多个子组。每个childGroup都有一个唯一的标签(2个chilGroups不能具有相同的标签)。让我们说现在我想删除标签为= 1的childGroup。 我需要选择正确的childGroup,然后选择childGroup.hide()

有没有办法迭代所有动力学组?

谢谢!

2 个答案:

答案 0 :(得分:1)

Ani正确使用get()功能。

要专门回答您的问题,您可以使用get()函数迭代所有Kinetic.Groups ,如下所示:

var groups = layer.get('Group')

返回指定容器内所有Kinetic Group对象的数组(在本例中为layer

顺便说一下,如果你不想删除动能节点,你应该使用destroyremove

答案 1 :(得分:0)

您可以使用此处描述的get()功能: http://kineticjs.com/docs/Kinetic.Container.html#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

或者使用这样的标签(如评论中建议的@projeqht)

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