注:flash_as3_swf里的源码里有一个btn_function的空function,需要从flex中传入,当flash里的按钮被点击的时候,会调用传入的flashBtnFun并传入参数cityName(也是flash里btn的name),这样flex中就能得到cityName,并侦测到function调用
(1)<mx:SWFLoader id="loader" source="dituNav.swf" complete="onComplete(event)" width="100%" height="100%"/>
(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);
}