本文和大家重点讨论一下Flex里加载Flex swf文件问题,其前提是Flashcs3和flex3.2开发,如果Flex调用由FLEX生成的FLASH里的FLEX函数根本不行。
Flex里加载Flex swf文件
前提:flashcs3和flex3.2开发(flex调用由FLEX生成的FLASH里的FLEX函数根本不行)
1、加载一个Flex swf
<mx:Flex swfLoadersource="1.Flex swf"/>
2、加载一个Flex swf并点击播放(播放:移动;视频插放;和Flex swf通信:如果是的话,比如你的Flex swf叫,test.Flex swf那么加载的时候去监听一下,在加载完成后,vart:test=event.targetastest;然后就可以调用里面的共有方法了。)
<?xmlversionxmlversion="1.0"encoding="utf-8"?>
<mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
<mx:Script>
<![CDATA[
privatevarMainMV:MovieClip;
privatefunctionFlashComplete(event:Event):void
{
MainMV=MVFlex swf.contentasMovieClip;
}
privatefunctionMV_PlayLast():void{
varCF:int=MainMV.currentFrame;//GetCurrentFrameNumber.
if(CF!=1)
{
MainMV.gotoAndStop(CF-1);
}
}
privatefunctionMV_PlayNext():void{
varCF:int=MainMV.currentFrame;//GetCurrentFrameNumber.
if(CF!=3)
{
MainMV.gotoAndStop(CF+1);
}
}
]]>
</mx:Script>
<!--WhenFlex swfFinishLoadingcompletethenCallFunctionFlashComplete-->
<mx:Imagexmx:Imagex="16.5"y="24"source="FlashSrc\Main.Flex swf"complete="FlashComplete(event)"id="MVFlex swf"/>
<mx:Buttonxmx:Buttonx="217"y="507"label="<<"id="BT_Last"click="MV_PlayLast()"/>
<mx:Buttonxmx:Buttonx="299"y="507"label=">>"id="BT_Next"click="MV_PlayNext()"/>
</mx:Application>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
源码下载
3、移动Flex swf文件
4、跟随鼠标移动
资料:
Flex动态加载代码(swcFlex swf)
引言:相信大部分Flexer在编写一段时间的代码后,会去探究如何更加灵活动态的加载代码,本文就是解决这个问题,与大家共同学习进步。
注意:目前为止,Flex程序是不能动态加载swc文件的,它能动态加载Flex swf文件。
作用:动态加载代码使得主程序体积变小了,下载更快。可以根据需要灵活地加载不同的代码。可以划分多个相对独立的部分,耦合性小等。
stepbystep:
1.新建一个Flex工程project,编写代码,完成模块测试。
2.新建一个FlexLib工程projectSwc,src指向工程project。成功build。并将生成projectSwc.swc作为project的lib。
3.右键project-properties-FlexBuildPath-LibraryPath-projectSwc.swc-双击LinkType-选择RSL模式-生成projectSwc.Flex swf。
4.这个生成的projectSwc.Flex swf就可以动态调用了。条件:1.必须传入Class全路径。2接口预先定义,如invoke(object:Object)。
5.调用过程类似于Java中的反射,用Loader加载Flex swf,用getDefinition加载类,最后调用invoke。完成动态调用。
总结:
在stepbystep过程中也许会有些许细节的出入,希望大家可以自己摸索,当然有问题可以提出来一起交流。在这里只是提供一个相对清晰的思路,旨在授之以渔。
【编辑推荐】
- 解析Flex4的十大变化
- Flex3到Flex4的转变新特性值得关注
- 解析对AdobeFlex的十大误解
- FlexBuilder3.0与Eclipse3.4的完美结合
- 学习Flex时必须要知道的10件事情