[問題] 請教一下這兩種語法的差異性

看板Flash作者 (一次郎)時間15年前 (2010/07/05 13:21), 編輯推噓4(402)
留言6則, 4人參與, 最新討論串1/1
簡單的說 就是滑鼠滑入滑出時 影片片段會出現alpha效果 這是第一種情況 var alp:Array=[0,1] var a=1 function bb(x){a=x} aa_mc.addEventListener(MouseEvent.MOUSE_OVER,callOver) function callOver(e:MouseEvent):void{ bb(0) } aa_mc.addEventListener(MouseEvent.MOUSE_OUT,callOut) function callOut(e:MouseEvent):void{ bb(1) } aa_mc.addEventListener(Event.ENTER_FRAME,callAlpha) function callAlpha(e:Event):void{ this.alpha+=(alp[a]-this.alpha)/5 } http://ichirohong.99k.org/alphaALL.swf 這是第二種情況 aa1.addEventListener(MouseEvent.MOUSE_OVER,callOver) function callOver(e:MouseEvent):void{ aa1.addEventListener(Event.ENTER_FRAME,callAlpha) function callAlpha(e:Event){ aa1.alpha+=(0-aa1.alpha)/5 } } aa1.addEventListener(MouseEvent.MOUSE_OUT,callOut) function callOut(e:MouseEvent):void{ aa1.addEventListener(Event.ENTER_FRAME,callAlpha1) function callAlpha1(e:Event){ aa1.alpha+=(1-aa1.alpha)/5 } } http://ichirohong.99k.org/alphaHALF.swf 不知道為何會出現不同的情況 應該不是因為陣列的問題吧= = -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.201.160

07/05 14:00, , 1F
是因為你的aa1 加了兩個 listener 沒有取消其中一個'
07/05 14:00, 1F

07/05 14:00, , 2F
也就是說 你的 callAlpha 跟 callAlpha1 兩個都在執行
07/05 14:00, 2F

07/05 14:01, , 3F
兩個人在搶 alpha 所以 alpha 只好變成 0.5 Q_Q
07/05 14:01, 3F

07/05 14:58, , 4F
alpha:我被拉的好痛啊 T_T
07/05 14:58, 4F

07/05 18:37, , 5F
這擬人XDDDDD
07/05 18:37, 5F

07/05 20:44, , 6F
推好痛XD
07/05 20:44, 6F
文章代碼(AID): #1CCMl44u (Flash)