Это мой код во Flash / AS3, в действии фрейма:
import flash.events.Event;
stop();
this.addEventListener(Event.ENTER_FRAME, loading);
function loading(e:Event):void{
var total:Number = this.stage.loaderInfo.bytesTotal;
var loaded:Number = this.stage.loaderInfo.bytesLoaded;
if (total == loaded){
var splashTimer:Timer = new Timer(3000,1);
splashTimer.addEventListener(TimerEvent.TIMER_COMPLETE, splashTimer1);
splashTimer.start();
function splashTimer1(evt:TimerEvent):void
{
//remove the enter frame event listener here
this.removeEventListener(Event.ENTER_FRAME, loading);
gotoAndPlay("3");
}
}
}
Я хочу удалить прослушиватель события enter frame (loading ()) внутри обработчика события splashTimer перед перенаправлением накадр 3. Как видите, я использовал:
this.removeEventListener(Event.ENTER_FRAME, loading);
Но это выдает ошибку времени выполнения:
TypeError: Error #1006: removeEventListener is not a function.
at Function/<anonymous>()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.utils::Timer/tick()
Это потому, что я считаю, что это относится к функции splashTimer1"this".
Как я могу ссылаться на родительский фрейм, чтобы я мог удалить его прослушиватель событий.
Пожалуйста, помогите мне.
Спасибо