问题
I am currently working a project involving KineticJS.
I have to dynamically create and delete shapes constantly, but cannot seem to figure out how to do the latter. I've been trying to do:
$ myLayer.remove(myShape)
because this is what most posts seem to recommend. But, the documentation says that this will remove the layer from the stage and not the shape from the layer. When I try this in project it in fact removes the layer from the stage.
So am I doing something wrong or is there some other way to remove a shape from a layer?
回答1:
There are two functions that may be helpful.
childContainer.remove()
removes the childContainer from it's parent.parentContainer.removeChildren()
removes all the children from this container.
Edit: This can also apply to shapes. Simply redraw the layer.
myShape.remove();
myLayer.draw();
回答2:
Somewhere between Kinetic 4.0 and the latest version, remove(child) stopped working. removeChild(child) doesn't work either.
I resolved this problem by using child.remove();
回答3:
U can use the prototype of kinetic function
Kinetic.Node.prototype.remove.call(removed_object);
baselayer.draw();
来源:https://stackoverflow.com/questions/12757176/removing-objects-from-a-layer-using-kineticjs