[心得] MouseEvent.DOUBLE_CLICK

看板Flash作者 (moonet)時間13年前 (2012/01/11 15:30), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
=== 一般情況 ==== 假設畫面上有個元件 a 使用 double click 事件的方法是這樣寫的: a.doubleClickEnabled = true; a.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick); function onDoubleClick(e:MouseEvent):void{ trace("onDoubleClick"); } 測試順利完成 === 特殊情況 ==== 假設元件a只是用來裝元件b的容器,而元件b也是個InteractiveObject的時候 則必須要寫成這樣: a.b.doubleClickEnabled = true; a.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick); function onDoubleClick(e:MouseEvent):void{ trace("onDoubleClick"); } doubleClickEnabled 屬性必須指定到滑鼠真正點擊到的目標身上才有作用 === 問題和解法 === 有時候我們根本不知道點擊到的目標會是誰 而只是想要讓 onDoubleClick 乖乖觸發就好 那麼可以這樣寫: a.addEventListener(MouseEvent.CLICK, onClick); function onClick(e:MouseEvent):void{ e.target.doubleClickEnabled = true; } a.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick); function onDoubleClick(e:MouseEvent):void{ trace("onDoubleClick"); } 讓程式自己找到那個該加上 doubleClickEnabled = true 的目標 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.137.198.18

01/12 23:45, , 1F
讚!
01/12 23:45, 1F
文章代碼(AID): #1F3JgXzs (Flash)
文章代碼(AID): #1F3JgXzs (Flash)