這是我在Flash/AS3代碼,在一幀的動作:的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");
}
}
}
我想刪除輸入框事件偵聽器(加載()),內該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()
這是因爲我相信它是通過「this」引用splashTimer1函數。
我該如何引用父框架,以便我可以刪除它的事件偵聽器。
請幫我一把。
感謝
也許嘗試刪除'this.',或將'this'存儲在一個對象中。 – ToddBFisher 2012-01-05 06:25:23