我目前正在从事一个涉及 KineticJS 的项目。
我必须不断地动态创建和删除形状,但似乎无法弄清楚如何做后者。我一直在尝试做:
$ myLayer.remove(myShape)
因为这是大多数帖子似乎推荐的。但是,文档说这将从舞台上删除图层,而不是从图层中删除形状。当我在项目中尝试这个时,它实际上从舞台上删除了图层。
那么我做错了什么还是有其他方法可以从图层中删除形状?
我目前正在从事一个涉及 KineticJS 的项目。
我必须不断地动态创建和删除形状,但似乎无法弄清楚如何做后者。我一直在尝试做:
$ myLayer.remove(myShape)
因为这是大多数帖子似乎推荐的。但是,文档说这将从舞台上删除图层,而不是从图层中删除形状。当我在项目中尝试这个时,它实际上从舞台上删除了图层。
那么我做错了什么还是有其他方法可以从图层中删除形状?
有两个功能可能会有所帮助。
childContainer.remove()
将 childContainer 从其父级中移除。parentContainer.removeChildren()
从此容器中删除所有子项。编辑:这也适用于形状。只需重新绘制图层。
myShape.remove();
myLayer.draw();
在 Kinetic 4.0 和最新版本之间的某个地方,remove(child) 停止工作。removeChild(child) 也不起作用。
我通过使用 child.remove(); 解决了这个问题;
u 可以使用动力学函数的原型
Kinetic.Node.prototype.remove.call(removed_object);
baselayer.draw();