Javascript 使用KineticJS从层中删除对象
我目前正在从事一个涉及KineticJS的项目 我必须不断地动态地创建和删除形状,但似乎不知道如何执行后者。我一直在努力做到:Javascript 使用KineticJS从层中删除对象,javascript,html5-canvas,kineticjs,Javascript,Html5 Canvas,Kineticjs,我目前正在从事一个涉及KineticJS的项目 我必须不断地动态地创建和删除形状,但似乎不知道如何执行后者。我一直在努力做到: $ myLayer.remove(myShape) 因为这是大多数帖子推荐的。但是,文件上说,这将从舞台上移除图层,而不是从图层上移除形状。当我在项目中尝试这一点时,它实际上会将层从舞台上移除 那么,我是否做错了什么,或者是否有其他方法可以从层中删除形状?有两个功能可能会有所帮助 childContainer.remove()从其父容器中删除childContai
$ myLayer.remove(myShape)
因为这是大多数帖子推荐的。但是,文件上说,这将从舞台上移除图层,而不是从图层上移除形状。当我在项目中尝试这一点时,它实际上会将层从舞台上移除
那么,我是否做错了什么,或者是否有其他方法可以从层中删除形状?有两个功能可能会有所帮助
从其父容器中删除childContainerchildContainer.remove()
从此容器中删除所有子容器parentContainer.removeChildren()
myShape.remove();
myLayer.draw();
在Kinetic 4.0和最新版本之间,remove(child)停止工作。removeChild(儿童)也不起作用
我使用child.remove()解决了这个问题 U可以使用动力学函数的原型
Kinetic.Node.prototype.remove.call(removed\u对象)代码>
baselayer.draw()代码>我不知道是否有更好的方法,但在阅读了一些代码之后。我发现如果我做myShape.remove()这个形状会从图层上移除。thanx,我只是想知道这个!在调用remove后,发现您甚至不需要重新绘制该层,它立即消失。如何再次还原它???@MahdiAlkhatib如果您仍然有对子对象的引用,则只需将其添加到层/容器中即可。如果没有指向它的变量,它将被销毁(垃圾收集)??