PDA

Volledige versie bekijken : movieclip in movieclip deleten


B-Mantis
%Europe/Berlin %640 %2007, 16:21
Hey,

Ik heb een class die gelinkt is met een library symbol.
Die library symbol bevat een movieclip die een aantal frames afspeeld en elke keer op frame 1 de volgende code uitvoert:
this["parent"].shoot();
in de class zit dus de functie shoot() en alles werkt uitstekend. Nu wil ik op een gegeven moment de instance verwijderen. Ik delete dus alle event Listeners, zorg ervoor dat er geen references zijn naar de instance en voer de code this["parent"].removeChild(this); uit.
Als ik het programma laat draaien zie ik de instance verdwijnen, maar de Movieclip in die instance blijft vrolijk doordraaien. Ik krijg dus een error omdat de functie shoot niet meer kan werken. Hoe moet ik deze instance op de juiste manier verwijderen? Ik heb die movieclip nooit een eventListener gegeven dus ik kan hem ook niet deleten. Ik kan me ook niet voorstellen dat alleen de playhead stoppen genoeg is.
Dank!

TheDutch
%Europe/Berlin %772 %2007, 19:33
removeChild haalt hem alleen van de display list af, je moet hem ook nog deleten met het keyword "delete". De rede dat "parent" niet meer werkt is omdat die alleen bekend is wanneer het toe is gevoegd aan een display list :).

B-Mantis
%Europe/Berlin %376 %2007, 10:02
De rede dat "parent" niet meer werkt is omdat die alleen bekend is wanneer het toe is gevoegd aan een display list :).
dat weet ik, maar wat moet ik precies deleten? Ik heb verder geen referentie naar die movieclip omdat ie 'pre-made' is. Ik zou het stukje actionscript ook gewoon in de class kunnen zetten, maar dan wordt ben ik bang niets opgehaald door de GC.

B-Mantis
%Europe/Berlin %899 %2007, 22:35
zou iemand alsjeblieft even naar dit probleem willen kijken? Ik loop vast omdat ik bang ben dat bepaalde objecten niet door de GC opgehaald worden.

ik heb voor de duidelijkheid een voorbeeltje gemaakt (zie attachment)