看板 Flash 關於我們 聯絡資訊
: (2)給參數e一個預設值(通常是null),然後照一般呼叫function的方式呼叫此listener : function myFunction(e:MouseEvent = null):void { : //your code here... : } : //照常呼叫 : myFunction(); tiger_btn.addEventListener(MouseEvent.CLICK,copyTiger); this.addEventListener(Event.ENTER_FRAME,copyTiger); function copyTiger(me:MouseEvent=null,me:Event=null) { ... ... } 我用兩種事件來呼叫同一個function (如上) 這樣做雖然可以達到我要的結果 可是卻會出現如下的錯誤訊息 Warning: 3583: 指定了一個以上名為 'me' 的引數。該引數的參考永遠會解析回最後一 個。 如果function的參數一個用me 一個用me2的話 就會出現 強制轉型失敗 的錯誤訊息 想請問該怎麼做才不會出錯呢? 請板上前輩幫忙,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.36.13
emily114005:你註冊了兩個不同type的監聽,然後用同一個監聽器來讀 03/23 15:47
emily114005:這樣當然會出錯XD,如果需要用到同樣的function來執行 03/23 15:47
emily114005:請將兩個監聽器獨立出來後,去call另外一個獨立的func 03/23 15:48
emily114005:tion,這樣應該就沒問題了~ 03/23 15:49
diqiu:你的意思是說再建立一個function讓這兩個分別去監聽嗎? 03/23 15:53
diqiu:可是我就是想說能不能只用一個function 才會這樣做的 03/23 15:55
scars:MouseEvent繼承Event 你直接 copyTiger(me:Event=null)就好 03/23 16:12
diqiu:原來如此,謝謝 03/23 17:50