相信大家只要用过ActionScript编程,一定会为调试(包括远程调试)Flash文件感到非常不便,笔者也曾经有过这样的烦恼。现在随着这款调试器的问世,这个问题终于迎刃而解了!
本调试器初始化时只是一个按钮,不会占用很多版面,你可以将它放在屏幕的右上角。它自动以所在的MC作为相对路径的起点。
本调试器外观上共分三部分:函数调试器、变量查看/赋值器及输出窗口。下面分别介绍它们。
·函数调试器
功能:该调试器可以调用指定的函数,并将结果输出到屏幕和指定的变量中。
用法:函数参数用','分隔
可以指定函数的this对象,留空表示本调试器所在的MC
可以用函数返回值为变量赋值,留空表示不赋值
本调试器尝试将各字段的字符串转换为代表的值,具体顺序见下文“myEval()转换的顺序”。
·变量查看/赋值器
功能:该调试器可以查看指定的变量,并重新赋值
用法:如果只想查看变量本身,点"查看"
如果想查看变量的属性、方法等,点"查看详细"
可以用变量的值或常量来赋值
本调试器尝试将各字段的字符串转换为代表的值,具体顺序见下文“myEval()转换的顺序”。
编程方面,该调试器还在_global里注册了以下API以方便调试:
·myEval()
用法1:function myEval(target:String):Object
说明:本函数是eval()函数的扩展,支持转换到各种内置类型。
用法2:function myEval(target:String, newVal:String):Object
说明:本函数是eval()函数的扩展,支持用各种常量、变量为target赋值。
·myEval()转换的顺序
1、如果字符串由""括起,则返回""之间的字符串;
2、尝试转换为this、数字、布尔值和undefined;
3、尝试转换为已存在的全局变量;
4、尝试转换为已存在的时间轴变量;
5、尝试转换为新的时间轴变量;
6、返回undefined。
·myTrace()
用法1:function myTrace(msg:String)
说明:本函数是trace()函数的扩展,msg将被输出到调试器输出和Flash内置输出上
用法2:function myTrace(msg:String,'+')
说明:使用这种格式时,之前的调试器输出会被保留。
·see()
用法:function see(targetStr:String):String
说明:本函数可以查看对象本身、子对象、属性、方法等的类型和值。
一些例子:
·在“函数调用”中输入Math.cos,在“函数参数”中输入Math.PI,点“执行”,则有如下输出:
函数名:Math.cos
参数名:Math.PI
参数值:3.14159265358979
this对象:_level0
执行结果:-1
·在“变量名”中输入_root,点“查看详细”,则有如下输出:
see _root (movieclip) = _level0
setStyle (function)
notifyStyleChangeInChildren (function)
……
·在“变量名”中输入_root.a,在“赋新值”中输入"hello",点“赋值”,则有如下输出:
变量名:_root.a
变量类型:undefined
变量值:undefined
新变量类型:string
新变量值:hello
·在你的程序里,调用see("_global"),则会返回
see _global (object) = undefined
__SVMouseWheelManager (object)
getStyleCounter (number) = NaN
see (function)
myTrace (function)
myEval (function)
……
希望大家喜欢这款调试器!如果有什么建议可以留言说说,想索要源代码的话也可以Q我或者回贴留下e-mail。
posted on 2007-02-27 02:44
踏雪赤兔 阅读(2412)
评论(5) 编辑 收藏 引用 所属分类:
玩转编程