Flex里如何加載Flex swf文件
本文和大家重點討論一下Flex里加載Flex swf文件問題,其前提是Flashcs3和flex3.2開發(fā),如果Flex調(diào)用由FLEX生成的FLASH里的FLEX函數(shù)根本不行。
Flex里加載Flex swf文件
前提:flashcs3和flex3.2開發(fā)(flex調(diào)用由FLEX生成的FLASH里的FLEX函數(shù)根本不行)
1、加載一個Flex swf
<mx:Flex swfLoadersource="1.Flex swf"/>
2、加載一個Flex swf并點擊播放(播放:移動;視頻插放;和Flex swf通信:如果是的話,比如你的Flex swf叫,test.Flex swf那么加載的時候去監(jiān)聽一下,在加載完成后,vart:test=event.targetastest;然后就可以調(diào)用里面的共有方法了。)
- <?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>
源碼下載
3、移動Flex swf文件
4、跟隨鼠標(biāo)移動
資料:
Flex動態(tài)加載代碼(swcFlex swf)
引言:相信大部分Flexer在編寫一段時間的代碼后,會去探究如何更加靈活動態(tài)的加載代碼,本文就是解決這個問題,與大家共同學(xué)習(xí)進步。
注意:目前為止,F(xiàn)lex程序是不能動態(tài)加載swc文件的,它能動態(tài)加載Flex swf文件。
作用:動態(tài)加載代碼使得主程序體積變小了,下載更快。可以根據(jù)需要靈活地加載不同的代碼??梢詣澐侄鄠€相對獨立的部分,耦合性小等。
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就可以動態(tài)調(diào)用了。條件:1.必須傳入Class全路徑。2接口預(yù)先定義,如invoke(object:Object)。
5.調(diào)用過程類似于Java中的反射,用Loader加載Flex swf,用getDefinition加載類,最后調(diào)用invoke。完成動態(tài)調(diào)用。
總結(jié):
在stepbystep過程中也許會有些許細節(jié)的出入,希望大家可以自己摸索,當(dāng)然有問題可以提出來一起交流。在這里只是提供一個相對清晰的思路,旨在授之以漁。
【編輯推薦】
- 解析Flex4的十大變化
- Flex3到Flex4的轉(zhuǎn)變新特性值得關(guān)注
- 解析對AdobeFlex的十大誤解
- FlexBuilder3.0與Eclipse3.4的完美結(jié)合
- 學(xué)習(xí)Flex時必須要知道的10件事情