flex与flash通讯 项目实测过的.Flash CS4与Flex 3

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


stop();
function gonext():void
{
gotoAndPlay(2);
}//定义一个gonext的函数,作用为跳到第二帧;

在第二帧上用文本工具写上;
调用flex函数是一个button,命名为ozbutton,

并在第二帧上写下如下代码:
stop();
ozbutton.addEventListener(MouseEvent.CLICK,OzClick);
function OzClick(evt:MouseEvent):void
{
dispatchEvent(new Event("OKTWO"));
}//为ozbutton添加一个监听鼠标点击的事件,当鼠标点击时,发送一个OKTWO的广播事件

这样flash的制做就完成了,命名为flash;下面说下在flex里如何调用flash

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

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

当flash加载完成之后会触发complete事件,并调用FlashComplete(event)函数;

   private function FlashComplete(event:Event):void
   {
    flashMc=flashContent.content as MovieClip; 
    flashMc.addEventListener("OKTWO",SayHello); 
   
   }

flashMc是一个MovieClip类,并把flashContent.content赋值给它,这样flashMc就相当于你刚制做的flash,你可以使用它来调用里面的函数;完整的代码如下

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
<mx:Script>
<![CDATA[
   import mx.controls.Button;
   import mx.controls.Alert;
   private var flashMc:MovieClip;//定义一个MC对象
   private function FlashComplete(event:Event):void
   {
    flashMc=flashContent.content as MovieClip; 
    flashMc.addEventListener("OKTWO",SayHello); 
   
   }
    private function NextFrame():void
   {
    flashMc.gonext();
   
   }

   private function SayHello(event:Event):void
   {
    Alert.show("HELLO World");
   }
]]>
</mx:Script>
<mx:Image x="111" y="88" source="flash/flash.swf" complete="FlashComplete(event)" id="flashContent"/>
<mx:Button x="182" y="222" label="NextFrame" click="NextFrame()" id="b"/></mx:Application>

你可能感兴趣的:(html,xml,Flex,Flash)