Het lijkt erop dat ik een bug in de EventDispatcher heb gevonden. Het heeft me bijna een dag gekost om erachter te komen waar problemen vandaan kwamen.
Ik heb een game_mc, hierin bevinden zich drie movieclips (die allen een EventDispatcher zijn); target_mc, bullet_mc en player_mc. Deze movieclips hebben allemaal een class aan zich hangen.
Bij de onLoad van game_mc voeg ik target_mc en bullet_mc toe als eventlisteners van bullet_mc. De bullet_mc dispatched een event op onMouseDown. Zodra ik echter een play(); commando zet in bijvoorbeeld de eventlistener functie van target_mc wordt het event niet meer gedispatched naar de overige listeners. Haal ik deze play(); weg dan werkt het zonder problemen. Dit gaat trouwens alleen op als de movieclip waarin het play() commando wordt aangeroepen als laatste wordt toegevoegd als eventlistener.
Voorbeeld is te downloaden van:
http://mcviruss.nl/uploaded/eventdispatcher.zip
Probeer het zelf, (un)comment maar eens het play(); commando in de onShoot functie in Target.as.
Iemand een logische verklaring?
Ik heb een game_mc, hierin bevinden zich drie movieclips (die allen een EventDispatcher zijn); target_mc, bullet_mc en player_mc. Deze movieclips hebben allemaal een class aan zich hangen.
Bij de onLoad van game_mc voeg ik target_mc en bullet_mc toe als eventlisteners van bullet_mc. De bullet_mc dispatched een event op onMouseDown. Zodra ik echter een play(); commando zet in bijvoorbeeld de eventlistener functie van target_mc wordt het event niet meer gedispatched naar de overige listeners. Haal ik deze play(); weg dan werkt het zonder problemen. Dit gaat trouwens alleen op als de movieclip waarin het play() commando wordt aangeroepen als laatste wordt toegevoegd als eventlistener.
Voorbeeld is te downloaden van:
http://mcviruss.nl/uploaded/eventdispatcher.zip
Probeer het zelf, (un)comment maar eens het play(); commando in de onShoot functie in Target.as.
Iemand een logische verklaring?