注:flash_as3_swf里的源码里有一个btn_function的空function,需要从flex中传入,当flash里的按钮被点击的时候,会调用传入的flashBtnFun并传入参数cityName(也是flash里btn的name),这样flex中就能得到cityName,并侦测到function调用
(1)
(2)private function onComplete(evt:Event):void
{
var swfObj:Object = Object(SWFLoader(evt.currentTarget).content);
Object(swfObj).btn_function = flashBtnFun;
}
(3)private function flashBtnFun(cityName:String):void
{
if(_currCity!="" && _currCity!=cityName)
{
if(loader.content[_currCity])
{
DisplayObject(loader.content[_currCity]).alpha = 0;
}
}
_currCity = cityName;
if(loader.content[_currCity])
{
DisplayObject(loader.content[_currCity]).alpha = 1;
}
//根据得到的导航里的buttonName,做相应的处理
ExternalInterface.call("getCurrentCity",_currCity) ;
}
(1)
(2)private function onComplete(evt:Event):void
{
var swfObj:Object = Object(SWFLoader(evt.currentTarget).content);
Object(swfObj).btn_function = flashBtnFun;
}
(3)private function flashBtnFun(cityName:String):void
{
if(_currCity!="" && _currCity!=cityName)
{
if(loader.content[_currCity])
{
DisplayObject(loader.content[_currCity]).alpha = 0;
}
}
_currCity = cityName;
if(loader.content[_currCity])
{
DisplayObject(loader.content[_currCity]).alpha = 1;
}
//根据得到的导航里的buttonName,做相应的处理
ExternalInterface.call("getCurrentCity",_currCity) ;
}
本文介绍了一种通过Flex与Flash进行交互的方法。具体而言,利用SWFLoader加载Flash文件,并在Flash内部定义一个名为btn_function的函数,该函数用于接收外部传入的参数cityName。当Flash中的按钮被点击时,将触发此函数并将按钮名作为参数传递出去。在Flex端,可以通过监听这个函数的调用来获取到cityName,并进一步实现对不同城市的动态响应。
220

被折叠的 条评论
为什么被折叠?



