As3 中用LocalConnection需要注意事项ABC

使用 LocalConnection 类可以创建一个 LocalConnection 对象,该对象可在一个 SWF 文件中或多个 SWF 文件间,调用另一个 LocalConnection 对象中的方法。 通过本地连接,可以在 SWF 文件之间进行这种通信,而不用使用 fscommand() 或 JavaScript。 LocalConnection 对象只能在运行于同一台客户端计算机上的 SWF 文件之间进行通信,但这些 SWF 文件可以在不同的应用程序中运行。例如,一个 SWF 文件在浏览器中运行,而另一个 SWF 文件在放映文件应用程序中运行。

Actionscript3中的LocalConnection可以和早先版本的locolconnection通信,但是用法上稍有不同。主要是因为as3的事件机制和以往版本有所不同。

这里根据自己的开发经历,提几点as3中使用locolconnection这个类的注意事项。

先贴上整段代码,再解释

    public class Main extends MovieClip{
       private var lc:LocalConnection;
        function Main(){
            //playAct();
            configLcListener();
        }
        function configLcListener(){
            lc = new LocalConnection();
            try {
               lc.client = this;
                lc.connect("gyd_pig_act");
            } catch (error:ArgumentError) {
                trace("Can’t connect…the connection name is already being used by another SWF");
            }
        }
        public function myLcFunc():void{
            trace("aoao");
        }
    }
}

1. lc.client=this的意思是,让lc收到接收事件以后,调用当前类this对应的lc方法(lc方法名对应的方法)。

2. var lc:LocalConnection;要声明成当前类的成员变量,否则,导致接收不到lc消息

3. lc回调方法myLcFunc,必须显示声明为public的,否则收不到lc消息。

如果,你碰到了接收不到lc消息的情况,可以自查以上三点,基本上,都能收到localconnection的消息啦!

posted @ 2010-06-29 11:58  rob_2010  阅读(334)  评论(0编辑  收藏  举报