MYJS/技巧/一个封装好的用以调用MYJS的AS3类
出自Manyou开发者指南
package
{
import flash.display.DisplayObjectContainer;
import flash.display.LoaderInfo;
import flash.net.LocalConnection;
import flash.events.StatusEvent;
/**
* ManyouExternalInterface
* @author lualua (verycss-ok@yahoo.com.cn)
* @example ManyouExternalInterface.getInstance().init(yourRoot);
* ManyouExternalInterface.getInstance().callMYJS("jsFuncName", arg1, arg2 ...);
*/
public class ManyouExternalInterface
{
static private var _instance:ManyouExternalInterface = new ManyouExternalInterface();
private var _connName:String;
private var _conn:LocalConnection;
public function ManyouExternalInterface()
{
if (_instance) throw new Error("ManyouExternalInterface can only be accessed through getInstance()");
}
public function init(root:DisplayObjectContainer):void
{
_connName = LoaderInfo(root.loaderInfo).parameters.my_local_connection;
_conn = new LocalConnection();
_conn.allowDomain("*");
_conn.addEventListener(StatusEvent.STATUS, function(evt:StatusEvent):void{
switch (evt.level)
{
case "status" :
//…
break;
case "error" :
//…
break;
case "warning" :
//…
break;
}
});
}
static public function getInstance():ManyouExternalInterface
{
return _instance;
}
public function callMYJS(funcName:String, ...args:*):void
{
_conn.send(_connName, "callMYJS", funcName, args);
}
}
}
