2016-04-19 8 views
1

Wenn ich Formen haben in einer Schleife auf die Bühne hinzugefügt wird, wie folgt aus:entfernen Formen Mit bestimmten Namen Form Bühne in EaselJS

fooShape = new createjs.Shape().set({name:"newShapes"}); 

Was ist der einfachste Weg, eine Funktion zu haben, die alle Formen mit der entfernt "newShapes" Name?

Ich habe Dinge wie stage.removeChild(fooShape[i]); versucht, aber ich werde "nicht definiert".

Antwort

2

Die removeChild method zeigen nur Objekte als Parameter an. Um alle Kinder mit einem bestimmten Namen zu entfernen, muss man durch die Kinder-Schleife, und entfernen Sie alle, die Kriterien entsprechen:

for (var i=container.numChildren-1; i>=0; i--) { 
    var child = container.getChildAt(i) 
    if (child.name == "newShapes") { 
     container.removeChild(child); 
    } 
} 

Beachten Sie, dass diese Probe durch die Kinder in umgekehrten Schleifen, da ein Element zu entfernen bewirkt, dass die Indizes, die während der Schleife geändert werden sollen.

Hoffe, dass hilft.

Verwandte Themen