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的消息啦!