所以我在這裏遇到了一些問題。我將在我將顯示的代碼中使用假變量名稱,以使其更簡單。但是,我做了一個函數,這個函數被一些不重要的條件調用。該函數創建一個函數本身的變量。然後,我爲這個函數變量調用一個定時器eventListener在一個'循環'中調用它。它適用於那部分。但是,我想刪除這個事件監聽器,但它不能識別該定時器函數中的函數變量(作爲參數發送)。它顯示爲空,它意味着我無法刪除eventListener,並且該函數一直被永遠調用。任何解決方案Flash AS3。刪除EventListener的問題
P.S. myTimer是一個隨處可用的公共變量,我得到一個1010錯誤。
public function calledOnce(){
this.myFunction = loopFunction(x, y, "function");
this.myTimer.addEventListener(TimerEvent.TIMER, this.myFunction);
}
public function loopFunction(refX, refY, refFunction){
return function(e: Event){
//Do something
switch(refFunction){
case "function":
this.myTimer.removeEventListener(TimerEvent.TIMER, this.myFunction);
break;
}
};
}
有趣的是,我不得不復制粘貼它,因爲我認爲它確實會起作用。也許有人可以解釋它。但是,如果這不起作用,那麼以這種方式制定它的需求是什麼?你不能只是改變你的代碼,一個函數不返回?贊成這一點,因爲我也很好奇這個解釋。 – Fygo