Jak usunąć wszystkie detektory zdarzeń jednocześnie w AS3
Robię małą grę w as3.
Gra zawiera 10 poziomów.
Kiedy wchodzę na 1 poziom, wszystko jest w porządku. Ale kiedy wchodzę na drugi poziom (ramkę), detektory zdarzeń z pierwszej ramki nadal działają i otrzymuję ostrzeżenie „Nie można uzyskać dostępu do obiektu o zerowym odwołaniu do obiektu”. Dzieje się tak, ponieważ usuwam każdy obiekt pierwszego poziomu i dodajemy obiekty z etapu 2.
Próbowałem użyć metody removeEventListeners, ale nie działa, ponieważ ENTER_FRAME Słuchacze działają jeszcze raz po usunięciu Słuchaczy zdarzeń.
Próbowałem użyć różnych ramek dla różnych poziomów, ale to nie działa. Próbowałem również użyć 1 frmae dla wszystkich 10 klatek, ale otrzymałem wiele ostrzeżeń, a Flash Loader jest przeciążony.
Jak mogę przełączać poziomy (wstecz i do przodu)? Z góry dziękuję.
addEventListener(Event.ENTER_FRAME, subtracting2);
arrListeners.pop(); // poping it out of the array because it will be deleted after the count reaches 0
function subtracting2 (e:Event):void
{
count--;
var FAcoef:Number = count/30; //
FadeAway.alpha = FAcoef; // Some effect like FadeAway
setChildIndex(FadeAway, numChildren - 1); //
if(count == 0)
{
setChildIndex(FadeAway, 0);
removeEventListener(Event.ENTER_FRAME, subtracting2);
}
}