`

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

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

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

HelloWorld!

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


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

“我是大将军”的文本

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

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


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


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


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

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


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


6、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
   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>
  • 大小: 7.3 KB
  • 大小: 15.5 KB
分享到:
评论
2 楼 yangkd548 2010-06-08  
可能是SWF是2.0的原因吧,你用3.0的试试吧
1 楼 aotie 2010-06-03  
你好我套用你的模式!做为什么这句
flashMc=flashContent.content as MovieClip; 

flashMc为空呢!!

我的SWF 好像是ActionScript2.0的!

相关推荐

Global site tag (gtag.js) - Google Analytics