[心得] 避免下方圖層接收到事件

看板Flash作者 (缺錢啦 @@)時間19年前 (2005/09/15 00:43), 編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/1
本來是準備來發問的, 不過突然想到做法了 (在書上或版上看過) 就整理分享吧. 事由: 我希望在一個 Flash 頁面之上, 透過某種方式 (loadMovieNum / MovieClipLoader) 載入一個新的 Flash 檔至 _level1 (暫定). 同時, 我希望原本的 flash (_level0) 的物件仍然能夠被看見 (透過設定 _level1._alpha 得以做到), 但我不希望那些在 _level0 的物件仍然能夠發生互動事件 (不論是鍵盤或滑鼠事件). 目標: 讓上層物件, 阻擋下層物件對事件之處理. 方法: 在 _level1 上建立一個感應區和 _level0 一樣大的 btn 元件, 除了感應區外什麼 都不需要有, 以免影響視覺效果. 將此 btn 物件置於該 flash 之最下層. 如此則所有的 mouse click 都會因為 _level1 深度的問題, 而使得 _level0 不會 接收到. 同時因為該 button 位於 _level1 之最下層, 故不會影響該檔案中之事件 獲取. 如此便能做到類似 Form.showDialog() 的效果 (或以前的 showModel) 至於鍵盤事件則應該可以透過 tabIndex 及取消 Access Key 來設定. 由於我手上 的案子並不用做到這些, 所以就留待能者補完了 ^^;; 這個方法應該是在書上看到的, 等下次翻到再來補齊出處吧. --- Flash 齡.... 第八天 .... XD -- 鬼壓床怎麼辦 騎上去啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 222.157.137.33 ※ 編輯: clifflu 來自: 222.157.137.33 (09/15 00:53)

61.223.193.238 09/15, , 1F
簡單的說擺個alpha=0的物件在上面擋住就好了阿XD
61.223.193.238 09/15, 1F

61.66.87.130 09/15, , 2F
這方法大家用了四五年有囉~
61.66.87.130 09/15, 2F

61.66.87.130 09/15, , 3F
缺點是整個畫面都會讓游標變手指狀
61.66.87.130 09/15, 3F

218.165.79.57 09/15, , 4F
useHandCursor = false就可避免變手指狀
218.165.79.57 09/15, 4F

61.66.87.212 09/15, , 5F
那得一一設定
61.66.87.212 09/15, 5F

61.66.87.212 09/15, , 6F
在Flash5時代沒有這種方法
61.66.87.212 09/15, 6F

61.66.87.212 09/15, , 7F
但實務上已經常用整塊大透明按鈕擋住下層按鈕了
61.66.87.212 09/15, 7F

61.229.3.79 09/15, , 8F
不需要按鈕,圖片或是影片片段效果一樣
61.229.3.79 09/15, 8F

222.157.137.33 09/15, , 9F
MovieClip 無法擋住下層的事件 至少我試如此.
222.157.137.33 09/15, 9F

61.62.226.170 09/16, , 10F
只有按鈕才可以啦~
61.62.226.170 09/16, 10F
文章代碼(AID): #13A5CtZN (Flash)
文章代碼(AID): #13A5CtZN (Flash)