使用KineticJS从图层中删除对象

时间:2012-10-06 05:53:43

标签: javascript html5-canvas kineticjs

我目前正在开展涉及KineticJS的项目。

我必须不断地动态创建和删除形状,但似乎无法弄清楚如何做后者。我一直在努力:

 $ myLayer.remove(myShape)

因为这是大多数帖子似乎推荐的内容。但是,文档说这会从舞台上移除图层而不是图层中的形状。当我在项目中尝试这个时,它实际上从舞台中移除了该层。

我做错了什么或是否有其他方法从图层中删除形状?

3 个答案:

答案 0 :(得分:16)

有两个功能可能会有所帮助。

  • childContainer.remove()从其父级中删除childContainer。
  • parentContainer.removeChildren()从此容器中删除所有子项。

修改:这也适用于形状。只需重新绘制图层。

myShape.remove();
myLayer.draw();

答案 1 :(得分:2)

在Kinetic 4.0和最新版本之间,删除(子)停止工作。 removeChild(child)也不起作用。

我使用child.remove();

解决了这个问题

答案 2 :(得分:0)

你可以使用动力学函数的原型

Kinetic.Node.prototype.remove.call(removed_object);

baselayer.draw();