作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 能不能把Flex的組件拿去給Flash用?
時間Fri Apr 24 11:34:52 2009
要用其他組件
我覺得是有可能從Flex打包成SWC之後丟回給Flash使用
像這個教學就有講如何從Flex打包SWC
(使用compc.exe,在Flex SDK裡面)
http://0rz.tw/w9vU0
基本上,Flex在編譯MXML和AS的時候
他會先把所有的MXML、組件都轉成AS程式碼
然後再一大包一起編譯
(Flex Builder有個選項,可以保留自動產生的AS程式碼,
不會在編譯完之後刪除,不過我忘記在哪裡了...)
Flex的data binding和Alert這種看似需要低階的Flash Player操控權限的功能
應該就是在自動升成AS程式碼的時候,都用AS處理好了
Alert會鎖住所有的事件
應該是自動生成的AS中
在所有使用addEventListener()的地方另外"包裝一層可以阻斷此事件的機制"
所以才可以輕鬆的用Alert鎖住所有事件
Alert本身只是個Display Object
我不認為把他輸出成SWC再引入Flash裡面,會有封鎖全畫面的效果
他應該只是單獨的顯示一個Alert視窗出來而已
(我也有可能判斷錯誤啦...)
其實你要鎖住滑鼠和鍵盤很簡單
所有的MouseEvent和KeyboardEvent都會先經過stage物件(根據event flow原則)
你先用以下code來註冊listener
stage.addEventListener(<event>, <listener>, true, int.MAX_VALUE);
useCapture參數設為true,表示要監聽capture phase
(預設是bubble phase,觸發listener時已經是事件從target跑回來了)
piority參數設為int.MAX_VALUE,讓你的listener擁有最高優先處理順序
在listener裡面呼叫Event.stopImmediatePropagation()就可以阻斷事件
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.79.131
※ 編輯: cjcat2266 來自: 61.228.79.131 (04/24 11:37)
推 LCDbest:果然是威力無比的CAT大大,先推再看XD 04/24 11:38
推 aquarianboy:這招酷,比我用一個透明的大Button來蓋住好多了 :) 04/24 16:53