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); } } }
个人工具
接口文档