Flex 和AS3 SWF交互
今天閑著沒事做了一個這樣的試驗。讓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>
<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);
}
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);
}
posted on 2010-11-16 09:37 aiaiwoo 閱讀(281) 評論(0) 編輯 收藏 所屬分類: AC3/FLEX