【IT168技术资讯】如果你在FLASH 里做了一个MOVIECLIP.然后导出SWF,接着在FLEX里调用,那么该如何做呢?比如我想在FLEX的界面上点击某个按钮,接着能够响应到加载的SWF里,简单的如gotoAndPlay(),复杂的如自己写的类.
以下是我做的一个很简单的应用,不过你可以举一反三.最主要的过程是:
在制作FLASH时,在AS里预先写好一些FUNCTION.
用FLEX加载制作完毕的SWF.
在里,用AS来调用在SWF里的程序.
三步说简单很简单,说不简单也不简单,因为很多人在第三步会出现错误,因为不知道到底怎么调用.看下面的一段代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function btn1Click(e:MouseEvent):void{
var mc:MovieClip = swfload.content as MovieClip;
//a() FUNCTION是我在FLASH里预先写好的程序.内容为
// function a():void{
// gotoAndStop(1);
// }
mc.a();
}
private function btn2Click(e:MouseEvent):void{
var mc:MovieClip = swfload.content as MovieClip;
//b() 也是我在FLASH里预先写好的程序,具体内容看source
mc.b();
}
]]>
</mx:Script>
<mx:SWFLoader id="swfload" source="MovieTest.swf"/>
<mx:Button id="btn1" label="GO1" click="btn1Click(event)" x="62" y="379"/>
<mx:Button id="btn2" label="GO2" click="btn2Click(event)" x="212" y="379"/>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function btn1Click(e:MouseEvent):void{
var mc:MovieClip = swfload.content as MovieClip;
//a() FUNCTION是我在FLASH里预先写好的程序.内容为
// function a():void{
// gotoAndStop(1);
// }
mc.a();
}
private function btn2Click(e:MouseEvent):void{
var mc:MovieClip = swfload.content as MovieClip;
//b() 也是我在FLASH里预先写好的程序,具体内容看source
mc.b();
}
]]>
</mx:Script>
<mx:SWFLoader id="swfload" source="MovieTest.swf"/>
<mx:Button id="btn1" label="GO1" click="btn1Click(event)" x="62" y="379"/>
<mx:Button id="btn2" label="GO2" click="btn2Click(event)" x="212" y="379"/>
</mx:Application>