前提:flash cs3 和flex 3.2开发 (flex 调用由FLEX 生成的FLASH里的FLEX 函数 根本不行)
1、加载一个swf
<mx:SWFLoader source="1.swf" />
2、加载一个swf并点击播放(播放:移动;视频插放;和swf通信:如果是的话,比如你的swf叫,test.swf那么加载的时候去监听一下,在加载完成后,var t:test = event.target as test;然后就可以调用里面的共有方法了。)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private var MainMV:MovieClip;
private function FlashComplete(event:Event):void
{
MainMV = MVSWF.content as MovieClip;
}
private function MV_PlayLast():void{
var CF:int = MainMV.currentFrame; //Get Current Frame Number.
if(CF != 1)
{
MainMV.gotoAndStop(CF-1);
}
}
private function MV_PlayNext():void{
var CF:int = MainMV.currentFrame; //Get Current Frame Number.
if(CF != 3)
{
MainMV.gotoAndStop(CF+1);
}
}
]]>
</mx:Script>
<!-- When SWF Finish Loading complete then Call Function FlashComplete -->
<mx:Image x="16.5" y="24" source="FlashSrc/Main.swf" complete="FlashComplete(event)" id="MVSWF"/>
<mx:Button x="217" y="507" label="<<" id="BT_Last" click="MV_PlayLast()"/>
<mx:Button x="299" y="507" label=">>" id="BT_Next" click="MV_PlayNext()"/>
</mx:Application>
3、移动swf文件
源码下载(QQ:931542897)
4、跟随鼠标移动
源码下载(QQ:931542897)
资料:
Flex动态加载代码(swc swf)
引言:相信大部分Flexer在编写一段时间的代码后,会去探究如何更加灵活动态的加载代码,本文就是解决这个问题,与大家共同学习进步。
注意: 目前为止,Flex程序是不能动态加载swc文件的,它能动态加载swf文件。
作用:动态加载代码使得主程序体积变小了,下载更快。可以根据需要灵活地加载不同的代码。可以划分多个相对独立的部分,耦合性小。等
step by step:
1.新建一个Flex工程project,编写代码,完成模块测试。
2.新建一个Flex Lib工程projectSwc,src指向工程project。成功build。并将生成projectSwc.swc作为project的lib。
3.右键project-properties-Flex Build Path-Library Path-projectSwc.swc-双击Link Type-选择RSL模式-生成projectSwc.swf。
4.这个生成的projectSwc.swf就可以动态调用了。条件:1.必须传入Class全路径。2接口预先定义,如invoke(object:Object)。
5.调用过程类似于Java中的反射,用Loader加载swf,用getDefinition加载类,最后调用invoke。完成动态调用。
总结:
在step by step过程中也许会有些许细节的出入,希望大家可以自己摸索,当然有问题可以提出来一起交流。在这里只是提供一个相对清晰的思路,旨在授之以渔。