技术开发 频道

Flex 和AS3 SWF交互

   【IT168技术资讯】 由于Localconncetion的某些限制(一台客户只可以使用特定名字的一个连接,这样的程序如果开两个窗口就会发生异常),今天闲着没事做了一个这样的试验。让Flash CS3和Flex的代码可以相互调用,为了显示效果,我在双方的界面分别放置了一个文本输入框和一个按钮。

    这是Flex端的代码:

    调用示例代码:<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
//把当前的application引用告诉swf
private function onSwfLoaded(event:Event):void{
Object(myloader.content).setApp(this);
}

//准备给swf调用的方法
public function appshowtext(str:String):void{
textinput.text=str;
}

]]>
</mx:Script>
<mx:SWFLoader id="myloader" source="local.swf" creationComplete="onSwfLoaded(event)"/>
<mx:TextInput id="textinput"/>
<mx:Button label="send to local.swf" click="Object(myloader.content).swfshowtext(textinput.text);"/>
</mx:Application>

这是Flash CS3里面的第一帧的代码

var app:Object;
display_txt.autoSize=TextFieldAutoSize.LEFT;

function swfshowtext(str:String):void{
display_txt.text=str;
}

function setApp(ap:Object):void{
this.app=ap;
}

mybtn.addEventListener(MouseEvent.CLICK,onClick);

function onClick(event:MouseEvent):void{
app.appshowtext(display_txt.text);
}

 

 

 

 

0
相关文章