Suppression d'objets à partir d'un calque à l'aide de KineticJS
Je suis actuellement en train de travailler à un projet impliquant KineticJS.
J'ai créer dynamiquement et supprimer des formes sans cesse, mais n'arrive pas à comprendre comment faire la dernière. J'ai essayé de faire:
$ myLayer.remove(myShape)
parce que c'est ce que la plupart des postes semblent recommander. Mais, la documentation dit que cela permettra d'éliminer la couche de la scène et non la forme de la couche. Lorsque j'essaie dans ce projet, il en fait, supprime le calque de la scène.
Si je fais quelque chose de mal ou est-il un autre moyen de supprimer une forme à partir d'une couche?
Je ne sais pas si il ya une meilleure façon, mais après avoir lu certains de la cinétique du code js. J'ai découvert que si je ne myShape.remove() la forme est supprimée à partir de la couche.
merci! infos utiles
merci! infos utiles
OriginalL'auteur user1724623 | 2012-10-06
Vous devez vous connecter pour publier un commentaire.
Il y a deux fonctions qui peuvent être utiles.
childContainer.remove()
supprime la childContainer de celle du parent.parentContainer.removeChildren()
supprime tous les enfants de ce conteneur.Modifier: Cela peut aussi s'appliquer à des formes. Simplement redessiner la couche.
Comment restaurer une fois de plus??
si vous avez encore une référence pour les enfants, alors il suffit de les ajouter à la couche / conteneur
Donc, si il n'y a pas de variable pointant vers elle, il sera détruit (garbage collector)??
OriginalL'auteur BenMQ
Quelque part entre la Cinétique 4.0 et la version la plus récente, supprimer(l'enfant) a cessé de fonctionner. removeChild(l'enfant) ne fonctionne pas non plus.
J'ai résolu ce problème en utilisant de l'enfant.remove();
OriginalL'auteur Adam Augusta
U peut utiliser le prototype de la cinétique de la fonction
Kinetic.Node.prototype.remove.call(removed_object);
baselayer.draw();
OriginalL'auteur Manjunath Raddi