超级SWF跟踪器-巧用LocalConnection的代码

FLASH中的trace只能在FLASH IDE中跟踪看到,如果你将SWF发布到网上,是看不到trace的调试信息,这给开发网络FLASH带来的调试上的困难,那有没有好的办法来解决这个问题呢,不管SWF发布到什么地方,打开一个本地SWF跟踪器来接收调试消息那岂不是很好,因为我尝试了各种方法,从SharedObject的本地对象到远程对象到LocalConnection的方法都尝试一遍(使用LocalConnection是从Breeze AddIn中发现的一个“秘密”,感觉SNOW给我了一个提示,发现了其中的“奥秘”),在需要调试的SWF中使用下面的类:
class fj.util.JTracer {
    public static var debug:Boolean=true;
    private static var _instance:JTracer;
    private var _lc:LocalConnection;
    private function JTracer(){
        this._lc=new LocalConnection();
        this._lc.allowDomain=function(domain:String):Boolean{
            return true;
        }
    }
    public static function trace(msg:Object):Void{
        if(!JTracer.debug){
            return;
        }
        if(JTracer._instance==undefined){
            JTracer._instance=new JTracer();
        }
        JTracer._instance.traceMsg(msg);
    }
    private function traceMsg(msg:Object):Void{
        trace(msg);
        this._lc.send("localhost:trace","trace",this._lc.domain(),msg);
    }
}
使用方法很简单,就是JTracer.trace("我来试试!");
SWF跟踪器中的代码如下:
import fj.util.JDelegate;
class view.JDebug {
    private var _ui:MovieClip;
    private var _lc:LocalConnection;
    function JDebug(ui){
        this._ui=ui;
        this.init();
    }
    private function init(){
        this._lc=new LocalConnection();
        this._lc.allowDomain=function(domain):Boolean{
            return true;
        }
        this._lc.connect("trace");
        this._lc.trace=JDelegate.create(this,onTrace);
    }
    private function onTrace(domain:String,msg:Object){
        this._ui.msg_ta.text+=domain+":"+msg+"\n";
    }
}
这个需要放一个组件TextArea名字叫msg_ta,用来显示跟踪的消息!

(0)

相关推荐

  • 超级SWF跟踪器-巧用LocalConnection的代码

    FLASH中的trace只能在FLASH IDE中跟踪看到,如果你将SWF发布到网上,是看不到trace的调试信息,这给开发网络FLASH带来的调试上的困难,那有没有好的办法来解决这个问题呢,不管SWF发布到什么地方,打开一个本地SWF跟踪器来接收调试消息那岂不是很好,因为我尝试了各种方法,从SharedObject的本地对象到远程对象到LocalConnection的方法都尝试一遍(使用LocalConnection是从Breeze AddIn中发现的一个"秘密",感觉SNOW给我了

  • 超级桌面锁定器让你电脑“永久”锁定

    对于Windows 98用户来说,当我们在工作中有事情需要离开自己的电脑时,可以使用"Ctrl+Alt+Del"组合键锁定电脑,但如果其他人关闭电脑并重新启动后,仍然可以登录,这就使得锁定计算机变得毫无意义.不过,我们可以使用"超级桌面锁定器"来帮我们真正锁定计算机: 从http://www.viphot.com/SoftView/SoftView_14725.html下载"超级桌面锁定器"压缩包,解压后直接运行软件,其主界面如图所示.选中&qu

  • python和websocket构建实时日志跟踪器的步骤

    前言 websocket 是一种网络传输协议.可在单个 TCP 连接上进行全双工通信.基于此,websocket 使得客户端与服务端的通信变得更加简便和高效. 什么是 websocket websocket 是独立的.创建在 TCP 上的协议.该协议在 2008 年诞生,并在 2011 年成为国际标准.它的一个主要特点是--全双工,即一旦建立连接,服务端或客户端可以主动向对方推送消息. 在 websocket 出现之前,网站如果需要实现推送技术,都是采用轮询的方式,即浏览器每隔一段时间就向服务器

  • JS模拟酷狗音乐播放器收缩折叠关闭效果代码

    本文实例讲述了JS模拟酷狗音乐播放器收缩折叠关闭效果代码.分享给大家供大家参考,具体如下: 这是一款模拟酷狗音乐播放器的关闭特效,采用JavaScript实现,关闭的时候播放界面缩成一条线,然后消失,就像有些电视机突然停电的效果,很有意思的网页动画特效. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-kugou-music-player-style-demo/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3

  • Python使用装饰器进行django开发实例代码

    本文研究的主要是Python使用装饰器进行django开发的相关内容,具体如下. 装饰器可以给一个函数,方法或类进行加工,添加额外的功能. 在这篇中使用装饰器给页面添加session而不让直接访问index,和show.在views.py中 def index(request): return HttpResponse('index') def show(request): return HttpResponse('show') 这样可以直接访问index和show,如果只允许登陆过的用户访问i

  • Java拦截器Interceptor实现原理及代码示例

      1,拦截器的概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式.在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截然后再之前或者之后加入某些操作.目前,我们需要掌握的主要是Spring的拦截器,Struts2的拦截器不用深究,知道即可. 2,拦截器的原理 大部分时候,拦截器方法都是通过代理的方式来调用的.S

  • PHP实现使用优酷土豆视频地址获取swf播放器分享地址

    项目用到临时写的.待完善: 复制代码 代码如下: /*     * 根据用户提交的(swf/html)地址,获取优酷,土豆的swf播放地址     * */    private function _getSwf ($url = '') {        if(isset($url) && !empty($url)){            preg_match_all('/http:\/\/(.*?)?\.(.*?)?\.com\/(.*)/',$url,$types);       

  • 超级REAL视频播放器

    <object id="player" name="player" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="339" height="227">                          <param name="_ExtentX" value="9869">

  • Android开发之自带下载器DownloadManager的使用示例代码

    Android 开发中,经常有从服务器下载数据的需求出现,尤其是在线更新App的情形.其基本思路是根据本地的App版本号和服务器的版本号进行比较,如果服务器版本较新,再进行提示然后下载Apk最后进行安装.这种需求解决方案有很多,第三方的网络框架基本都有这个功能. Android自带的DownloadManager是一个很好的下载文件的工具.该类在API level 9之后出现,它已经帮我们处理了下载失败.重新下载等功能,整个下载过程全部交给系统负责,不需要我们过多的处理,非常的nice.关键的是

  • spring boot拦截器实现IP黑名单实例代码

    前言 最近一直在搞 Hexo+GithubPage 搭建个人博客,所以没怎么进行 SpringBoot 的学习.所以今天就将上次的"?秒防刷新"进行了一番修改.上次是采用注解加拦截器(@Aspect)来实现功能的.但是,如果需求是一个全局的拦截器对于大部分URL都进行拦截的话,自己一个个加显然是不可能的.而且上次的拦截器对于Controller的参数有所要求,在实际他人引用总是显得不方便.所以,这次使用了继承HandlerInterceptor来实现拦截器. 功能需求 对于项目中某类U

随机推荐