0
我有一個我在FlexBuilder中構建的AS3項目。階段Event.ENTER_FRAME與CREATION_COMPLETE
在我的主類的構造函數,我有這樣的:
stage.addEventListener(Event.ENTER_FRAME, stage_enterFrameHandler);
,並且隨後事件處理函數:
private var tempCounter:uint = 0;
private function stage_enterFrameHandler(event:Event):void
{
stage.removeEventListener(Event.ENTER_FRAME, stage_enterFrameHandler);
tempCounter += 1;
trace(tempCounter);
}
當我在調試模式下運行,tempCounter寫出一次,如1.這是爲什麼?我雖然Event.ENTER_FRAME的全部意義在於它繼續發射。
如果播放頭不移動,或者如果只有一個框,此事件始終與以幀速率調度。此事件將同時分派給所有偵聽此事件的顯示對象。
那麼,爲什麼我不會看到計數器每秒增加約30倍(這是我的幀速率設置)?
編輯注:
OK,很好,衛生署,我已經想通了。這是因爲我立即刪除了eventlistener。 ENTER_FRAME事件不會繼續觸發......代碼以這種方式完成的唯一原因(我繼承的代碼)是,我想,如果不使用flex框架,CREATION_COMPLETE不可用。
是的,哎呀,謝謝。但希望對於那些想知道如何在沒有Flex框架的情況下模擬creationComplete的人有所幫助。 – David