14

我目前正在从事一个涉及 KineticJS 的项目。

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

 $ myLayer.remove(myShape)

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

那么我做错了什么还是有其他方法可以从图层中删除形状?

4

3 回答 3

17

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

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

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

myShape.remove();
myLayer.draw();
于 2012-12-16T14:51:18.793 回答
2

在 Kinetic 4.0 和最新版本之间的某个地方,remove(child) 停止工作。removeChild(child) 也不起作用。

我通过使用 child.remove(); 解决了这个问题;

于 2013-03-13T15:15:25.420 回答
0

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

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

baselayer.draw();

于 2015-05-28T11:52:36.560 回答