[心得] AS2 類似 hook 的技術

看板Flash作者 (moonet)時間17年前 (2009/01/03 13:38), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
想法: 寫程式時常常會想要加東西在一些事件上例如 onMouseDown 但如果程式寫很大,卻沒發現 onMouseDown 已經定義過了 結果後面又把 onMouseDown 重新定義,最後會弄得亂七八糟 所以如果可以在 onMouseDown 上增加要作的事,就不會有問題 感覺上有點像增加監聽事件進去 onMouseDown 裡 範例程式: //這是要作的事 function printStr(str) { trace(str); } //這是 hook this.onMouseDown 的函數 function addMouseDown(addFunction,frontBackFlag,functionArrt) { var temp = this.onMouseDown; this.onMouseDown = function() { if(frontBackFlag) { addFunction(functionArrt); temp(); } else { temp(); addFunction(functionArrt); } } } //開始 hook addMouseDown(printStr,true,"TEST1"); addMouseDown(printStr,true,"TEST2"); addMouseDown(printStr,true,""); 執行後點滑鼠會印出 TEST2 TEST1 應用: 我們也可以load別人的swf到某個MC中,然後再hook那個MC的事件 0.0 雖然不知道能作什麼 0.0 -- blog:http://etrex.blogspot.com/ site:http://web.ntust.edu.tw/~B9409041/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.162.42

01/03 13:45, , 1F
addMouseDown(function(){trace("xd")},true); 也可以
01/03 13:45, 1F
文章代碼(AID): #19NldAuz (Flash)
文章代碼(AID): #19NldAuz (Flash)