Flex与Flash的交互_1(初级简单示例)

其实就是Flex将Flash以资源的形式加载到Flex项目中,然后再获取该资源的内容对象,这样就可以操作该资源中对象的帧代码和文档类代码的公共方法了。
同时Flex也可以接收Flash发出的事件,从而实现相互通信的数据交互。

1、首先使用flash cs3建一个as 3的flash文件,建二帧,在第一帧用文本工具写上Hello World,并在第一帧上写上如下代码:

HelloWorld!

As代码
  1. stop();   
  2. function gonext():void   
  3. {   
  4. gotoAndPlay(2);   
  5. }//定义一个gonext的函数,作用为跳到第二帧;  


2、在第二帧上用文本工具写上:

“我是大将军”的文本

再制作一个调用flex函数是按钮button,命名为ozbutton,

然后写下如下代码:
As代码
  1. stop();   
  2. ozbutton.addEventListener(MouseEvent.CLICK,OzClick);   
  3. function OzClick(evt:MouseEvent):void   
  4. {   
  5. dispatchEvent(new Event("OKTWO"));   
  6. }//为ozbutton添加一个监听鼠标点击的事件,当鼠标点击时,发送一个OKTWO的广播事件  


3、这样flash的制做就完成了,命名为flash;


flash [olor=orange]下面说下在flex里如何调用[/color]


4、首先建一个名为flex_flash的flex工程,用一个image的组件来加载刚制做的flash文件;

Xml代码
  1. <mx:Image x="111" y="88" source="flash/flash.swf" complete="FlashComplete(event)" id="flashContent"/>  


5、当flash加载完成之后会触发complete事件,并调用FlashComplete(event)函数;
As代码
  1. private function FlashComplete(event:Event):void   
  2.   {   
  3.    flashMc=flashContent.content as MovieClip;    
  4.    flashMc.addEventListener("OKTWO",SayHello);    
  5.      
  6.   }  


6、flashMc是一个MovieClip类,并把flashContent.content赋值给它,这样flashMc就相当于你刚制做的flash,你可以使用它来调用里面的函数;完整的代码如下
As代码
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">   
  3. <mx:Script>   
  4. <![CDATA[   
  5.    import mx.controls.Button;   
  6.    import mx.controls.Alert;   
  7.    private var flashMc:MovieClip   
  8.    private function FlashComplete(event:Event):void   
  9.    {   
  10.     flashMc=flashContent.content as MovieClip;    
  11.     flashMc.addEventListener("OKTWO",SayHello);    
  12.       
  13.    }   
  14.     private function NextFrame():void   
  15.    {   
  16.     flashMc.gonext();   
  17.       
  18.    }   
  19.   
  20.    private function SayHello(event:Event):void   
  21.    {   
  22.     Alert.show("HELLO World");   
  23.    }   
  24. ]]>   
  25. </mx:Script>   
  26. <mx:Image x="111" y="88" source="flash/flash.swf" complete="FlashComplete(event)" id="flashContent"/>   
  27. <mx:Button x="182" y="222" label="NextFrame" click="NextFrame()" id="b"/></mx:Application>  

你可能感兴趣的:(Flex与Flash的交互_1(初级简单示例))