flex与flash的交互

老是听到群里的人问flex怎样与flash交互,一一回答的太多,太烦了,所以在此写些关于flex与flash之间的交互问题;

工具:flash cs 3,flex 3;

首先使用flash cs3建一个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
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>

原文:http://hi.baidu.com/bighall/blog/item/2af92455e309dfc1b745aeba.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值