Isn't there a simple "remove all children" function in flash? I don't understand why this code isn't working. I add children via:
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.addChildAt(project_array[cp].project_type_clips[i],i);
loadCount++
}
and then remove them via:
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.removeChildAt(i);
}
But I get an error that the supplied index is out of bounds, and yet one clip is still left on stage. Likewise, if I try to add them without levels, like this:
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.addChild(project_array[cp].project_type_clips[i]);
loadCount++
}
and remove:
for (var i in project_array[cp].project_type_clips){
container.header.type_loader.removeChild(project_array[cp].project_type_clips[i]);
}
I get the same error.
Yet another RemoveAllChildren
loop:
while (container.numChildren > 0) {
container.removeChildAt(0);
}
When you remove an object, the childIndex of the other children is altered. Therefore, you cannot remove children using an increasing value for i, but have to start at numChildren-1 and then decrease:
for (var i:int = obj.numChildren-1; i >= 0; i--) {
obj.removeChildAt (i);
}
should work.
sprite.removeChildren();
removes all children as documented here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With