Flex与Flash AS2之间的交互通信
Flash可以做很多丰富的动画效果,这是Flex不可比拟的,但并不说明Flex不能实现,只是有点儿复杂而已,因此我们想要的最好期望就是Flex中可以任意使用Flash,并且他们之间可以随意交互,在之前的一篇文章中写过Flash与Flex之间的交互,但那种方法只限于AS3,在AS2中并不可取,最近有一个需求是需要AS2的flash与Flex的交互,经过仔细的研究和资料查询,发现一种交互方法,现在贴出来供大家分享
在AS2与Flex交互所用到的就是LocalConnection对象,该对象具体有哪些方法、属性、事件等大家不妨自己去查一下帮助文档,这里就不在叙述了,先说一下在Flash中调用Flex类中的方法,参考代码如下:
Flash中代码:
Var localConn:LocalConnection=new LocalConnection();
t.fm_button.onRelease = function()
{
localConn .send("lc_from_flash","ShowDetails",1);
}
其中“lc_from_flash”是建立连接的字符串,该字符串必须与Flex中connect()方法中所需参数一致。“ShowDetails”为Flex提供的Public方法,关于LocalConnection是Send方法大家可以查一下帮助
Flex中代码:
private var _localConnection:LocalConnection;
protected function InitApp(event:FlexEvent):void
{
// TODO Auto-generated method stub
_localConnection=new LocalConnection();
_localConnection.connect("lc_from_flash");
_localConnection.client=this;
}
public function ShowDetails(param:Number):void{
Alert.show(param.toString());
}
如此便可实现Flash与Flex之间的通信,并且不会受制于AS的 版本
如果实现Flex调用Flash中的公共方法,只要反过来即可,有兴趣的童鞋们可以自己试一下!