Re: [問題] 聆聽事件 的 function

看板Flash作者 ( \)時間16年前 (2010/03/23 15:30), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串4/4 (看更多)
: (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

03/23 15:47, , 1F
你註冊了兩個不同type的監聽,然後用同一個監聽器來讀
03/23 15:47, 1F

03/23 15:47, , 2F
這樣當然會出錯XD,如果需要用到同樣的function來執行
03/23 15:47, 2F

03/23 15:48, , 3F
請將兩個監聽器獨立出來後,去call另外一個獨立的func
03/23 15:48, 3F

03/23 15:49, , 4F
tion,這樣應該就沒問題了~
03/23 15:49, 4F

03/23 15:53, , 5F
你的意思是說再建立一個function讓這兩個分別去監聽嗎?
03/23 15:53, 5F

03/23 15:55, , 6F
可是我就是想說能不能只用一個function 才會這樣做的
03/23 15:55, 6F

03/23 16:12, , 7F
MouseEvent繼承Event 你直接 copyTiger(me:Event=null)就好
03/23 16:12, 7F

03/23 17:50, , 8F
原來如此,謝謝
03/23 17:50, 8F
文章代碼(AID): #1Bg6uFxF (Flash)
文章代碼(AID): #1Bg6uFxF (Flash)