使用FlexComponentKit实现flash和flex完美互通
看了点资料,把flex中使用flash的影片剪辑得方法研究了一下,着重研究了一下FlexComponentKit,下面说说flex中使用flash影片剪辑的方法。
下面我怎么看看怎么把这个剪辑导出去,找到库里面的Ball,右键链接,看到这个

我们注意一下他的基类是flash.display.MovieClip,就是影片剪辑的继承,如果我们安装好了FlexComponentKit,在库中点击这个Ball,然后执行菜单中的-命令—Covert Symbol to Flex Component,然后flash会给你打印出一个信息,告诉你活已经干完了,你可以在flex中使用这个组件了,但是你还需要发布一下,这时候停一,下我们再来看看这个Ball,右键-链接我们会看到这个

他的基类变成了mx.flash.UIMovieClip,这下童鞋们差不多都明白了,FlexComponentKit就是想办法把flex中的这个mx.flash.UIMovieClip搞进来,我们做的原件都是他的继承,那么我们就可以像使用组件一样使用这个影片剪辑了,我们再给这个类一个包名com,变成这个

然后我们发布一下(菜单-文件-发布),找到我们的这个flash的保存目录,你就可以看到一个MyBall.swc,这下大伙差不多都明白下面flex该怎么用了
4,flex中使用影片剪辑Ball
???????新建一个工程flexandflash,右键-properties—Flex Builder Path—Library path—Add SWC然后就可以选择我们刚才得swc文件了。通过下面的代码
?
<?xml?version="1.0"?encoding="utf-8"?>
<mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?xmlns:com="com.*">
????<com:Ball?x="100"?y="100"?/>
</mx:Application>
?
package?com
?2
{
?3
????import?flash.events.Event;
?4
????
?5
????import?mx.flash.UIMovieClip;
?6
?7
????[Event(name='begin',type='flash.events.Event')]
?8
????[Event(name='finish',type='flash.events.TextEvent')]
?9
????public?class?FlashBall?extends?UIMovieClip
10
????{
11
????????public?var?data:String;
12
????????public?function?FlashBall()
13
????????{
14
????????????super();
15
????????}
16
????????public?function?replay():void{
17
????????????gotoAndPlay(1);
18
????????????dispatchEvent(new?Event('begin'))
19
????????}
20
????}
21
}
22
类里面啥东西自己看吧,额就不解释了
我们在Ball的最后一帧发出结束得事件
在Ball得第20帧写下
?
别忘了发布
回到flex中我们已经可以使用My:Ball标签了
?
?
<?xml?version="1.0"?encoding="utf-8"?>
<mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?xmlns:My="My.*"?fontSize="12">
????<mx:Script>
????????<![CDATA[
????????????import?mx.controls.Alert;
????????????private?function?finishHandler(event:TextEvent):void{
????????????????Alert.show(event.text,?"完成");
????????????}
????????????private?function?clickHandler():void{
????????????????flashball.replay();
????????????????flashball.data?=?"重新播放";
????????????}
????????]]>
????</mx:Script>
????<My:Ball??id="flashball"?x="100"?y?=?"100"?data="播放"
????????begin="trace('ball?begining')"?finish="finishHandler(event)">
????????
????</My:Ball>
????<mx:Button?x="0"?y="0"?label="Play"?click="clickHandler()"/>
</mx:Application>
?
里面是我使用这个组件做的试验,大家可以看试试他们得属性方法,具体怎么弄大家慢慢探索
?还有就是别忘了修改后别忘了发布这一步,这一步会经常出错
6,结束
这是我看一个视频,从里面学来的,是个英语视频,也不知道我说错没有,大家可以从电驴下载下来看看(Lynda.com.Adobe.Flex.3.Beyond.the.Basics)如果有啥错了,谁看到了给我说声,谢谢
?
/Files/shai/MyBall.rar?