首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[转]施用LocalConnction在SWF之间通信

2012-12-26 
[转]使用LocalConnction在SWF之间通信http://www.cnblogs.com/zhaozhan/archive/2010/06/23/1763046.html

[转]使用LocalConnction在SWF之间通信
http://www.cnblogs.com/zhaozhan/archive/2010/06/23/1763046.html

   使用LocalConnection类可以创建一个LocalConnection对象,该对象可以在一个SWF文件中或多个SWF文件间,调用另一个LocalConnection对象中的方法。通过本地连接,可以在SWF文件之间进行通信。LocalConnection对象只能在运行于用一台客户端计算机上的SWF文件之间进行通信,但这些SWF文件可以在不同的应用程序中运行。例如,一个SWF文件在浏览器中运行,而另一个SWF文件放到文件应用程序中运行。
     在两个SWF文件之间进行通信,一个SWF文件被称为发送方SWF文件,此文件包含要调用要调用的方法。发送方SWF文件必须包含一个LocalConnection对象和对send()方法的调用。另一个SWf文件被称为接收方SWF文件,此文件为调用方法的文件,接收方SWF文件必须包含另一个LocalConnection对象和对connect()方法的调用。
     简单示例:
     发送方SWF,在Application创建完成初始化LocalConnection(),并对通信状态做监听,按钮btnSend触发send()方法。
     conn.send("LocalConnectionTest", "testHandler", "Hello World!"); LocalConnectionTest为接收方SWF的LocalConnection,testHandler为接收方SWF的一个方法,后面跟的是传递给testHandler的参数。

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="Init()">    <mx:Script>        <![CDATA[            import flash.net.LocalConnection;                        private var conn:LocalConnection;            public function Init():void{                conn=new LocalConnection();                conn.addEventListener(StatusEvent.STATUS, onStatus);            }                        public function Send():void{                conn.send("LocalConnectionTest", "testHandler", "Hello World!");            }                        private function onStatus(event:StatusEvent):void {                switch (event.level) {                    case "status":                        trace("send()成);                        break;                    case "error":                        trace("send()失);                        break;                }            }       ]]>            </mx:Script>    <mx:Canvas>        <mx:Button id="btnSend" label="测 click="Send()"/>    </mx:Canvas></mx:Application>

      接收方SWF,首先初始化LocalConnection(),通过connect()方法创建名为LocalConnectionTest的LocalConnection(),名称必须是唯一的,粗犷一存在相同的名称创建时候会报参数错误。testHandler()供发送方SWF调用。

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="Init()">    <mx:Script>        <![CDATA[            import flash.net.LocalConnection;                        private var conn:LocalConnection;            public function Init():void{                conn=new LocalConnection();                conn.client=this;                try{                    conn.connect("LocalConnectionTest");                }                catch(error:ArgumentError){                    trace("名ocalConnectionTest的Wf对);                }            }                        public function testHandler(msg:String):void{               lbInfo.text="Receiver Info:"+msg;            }        ]]>    </mx:Script>        <mx:Label id="lbInfo"/></mx:Application>

热点排行