Remove child werkt niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • MineMine
  • Registratie: November 2005
  • Laatst online: 29-08 00:40
Hallo mensen,

Ik zit met een probleem en dit moet met spoed verholpen zijn.
Ik wil graag een stuk in mijn flash verwijderen. Echter negeert hij het.

Het scriptje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public function runWait () : void{
Denken.visible = true;
var v:simpleFlvWait = new simpleFlvWait();
v.playMyFlv('include/wait.flv', true, whichsound);
v.addEventListener("LOOKFORLOOP", LoppyLot);

Denken.addChild(v);

}

private function LoppyLot(e :Event) : void {

trace ( "Bij controle: De button is ingedrukt: " + btn_pressed );

if ( btn_pressed == true ) {
trace ( "De button is ingedrukt: " + btn_pressed + " en gevonden" );

Denken.removeChild(e.target as simpleFlvWait);
trace ( "RemoveChild hier." );

trace ( "De button was: " + btn_pressed );
btn_pressed = false;
trace ( "De button is nu: " + btn_pressed );
}

Het bestand simpleFlvWait laad het filmpje. Maar dat is te groot om te posten.

Hij laad het scriptje goed.
Hij roept runWait aan, waardoor het loop filmpje begint te lopen.
Als het filmpje naar het einde komt, dan wordt het opnieuw ingeladen.

Wanneer je op een knop drukt, wordt btn_pressed (die altijd false was) true.
Bij true moet hij het filmpje afkappen en zet hij het weer op false.
De knoppen reageren en gooien een nieuwe film in.
Echter het keuze filmpje verdwijnt niet en blijft op de achtergrond loopen.
Ik weet niet wat er mis is. Jullie misschien.

De trace:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
START: include/wait.flv
 Still looping: 0
Bij controle: De button is ingedrukt: false
De button is ingedrukt: true
START: include/1-goed.flv
 Still looping: 0
Bij controle: De button is ingedrukt: true
De button is ingedrukt: true en gevonden
RemoveChild hier.
De button was: true
De button is nu: false
 Still looping: 0
Bij controle: De button is ingedrukt: false
Zoals je ziet zegt hij nog steeds still looping na verwijderen. Hij draait ook door.

:/ Als dit nog een code dump is, dan weet ik niet het niet meer.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik gok dat je een removeHandler moet voorzien waarin je je movie stopt. Een "removeChild" wil niet zeggen dat je object weg is. Het wil gewoon zeggen dat het van de displaylist verwijderd wordt. Je filmpje blijft dus na een removeChild ook gewoon doorspelen op de achtergrond.

Acties:
  • 0 Henk 'm!

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Je moet sowieso alle event listeners verwijderen voor je een object probeert weg te gooien. Anders hebben ze nog referenties, en worden ze niet opgepikt door de garbage collector.

TabCinema : NiftySplit