作者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)
1F:推 LCDbest:果然是威力无比的CAT大大,先推再看XD 04/24 11:38
2F:推 aquarianboy:这招酷,比我用一个透明的大Button来盖住好多了 :) 04/24 16:53
3F:推 etrexetrex:我也一直以为是用盖住的XDDD 04/25 17:23
4F:→ cjcat2266:盖住可以锁滑鼠,但是锁不到键盘 :p 04/25 17:25