Flex里如何加载Flex swf文件

本文和大家重点讨论一下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;然后就可以调用里面的共有方法了。)

 

 
 
 
  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2.  
  3. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"> 
  4. <mx:Script> 
  5. <![CDATA[  
  6. privatevarMainMV:MovieClip;  
  7. privatefunctionFlashComplete(event:Event):void  
  8. {  
  9. MainMV=MVFlex swf.contentasMovieClip;  
  10. }  
  11. privatefunctionMV_PlayLast():void{  
  12. varCF:int=MainMV.currentFrame;//GetCurrentFrameNumber.  
  13. if(CF!=1)  
  14. {  
  15. MainMV.gotoAndStop(CF-1);  
  16. }  
  17. }  
  18. privatefunctionMV_PlayNext():void{  
  19. varCF:int=MainMV.currentFrame;//GetCurrentFrameNumber.  
  20. if(CF!=3)  
  21. {  
  22. MainMV.gotoAndStop(CF+1);  
  23. }  
  24. }  
  25. ]]> 
  26. </mx:Script> 
  27. <!--WhenFlex swfFinishLoadingcompletethenCallFunctionFlashComplete--> 
  28. <mx:Imagexmx:Imagex="16.5"y="24"source="FlashSrc\Main.Flex swf"complete="FlashComplete(event)"id="MVFlex swf"/> 
  29.  
  30. <mx:Buttonxmx:Buttonx="217"y="507"label="&lt;&lt;"id="BT_Last"click="MV_PlayLast()"/> 
  31. <mx:Buttonxmx:Buttonx="299"y="507"label="&gt;&gt;"id="BT_Next"click="MV_PlayNext()"/> 
  32.  
  33. </mx:Application> 
  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过程中也许会有些许细节的出入,希望大家可以自己摸索,当然有问题可以提出来一起交流。在这里只是提供一个相对清晰的思路,旨在授之以渔。

【编辑推荐】

  1. 解析Flex4的十大变化
  2. Flex3到Flex4的转变新特性值得关注
  3. 解析对AdobeFlex的十大误解
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. 学习Flex时必须要知道的10件事情

 

THE END