在下面的例子中,我可以知道trace()做什么
var reportXML:XML = <Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
</Report>;
var myArray:Array = [{xmlNodeName: "prop5", value: false}];
for each (var item:Object in myArray) {
reportXML[item.xmlNodeName] = item.value.toString();
}
trace(reportXML);
答案 0 :(得分:2)
当您在Flash中调用对象上的跟踪时,该函数在内部执行类似的操作。
trace(Object);
//pseudo implementation of trace
function trace(obj:*)
{
//open a socket connection at a previously decided port
socket.open(xxxx);
if(obj is String)
{
socket.write(obj);
}
else
{
socket.write(obj.toString());
}
}
您的控制台窗口可以侦听此套接字。因此,当流被写入套接字时,控制台窗口会显示它。
其他一些外部程序强制Flash播放器将此“日志”写入文件。 Flash播放器有一种启用此功能的方法。一旦将其写入文件,它们将“监视”此文件以进行任何更改,并在文件更改时打印到自己的控制台中。
答案 1 :(得分:1)
Trace将向IDE控制台打印reportXML变量的String值。 只有在调试代码时,跟踪结果才可见。
例如:
var strVal:String = "123";
var intVal:int = 77;
var spriteObj:Sprite = new Sprite();
trace(strVal);
trace(intVal);
trace(spriteObj);
// will write to console:
// 123
// 77
// flash.display.Sprite (@2eccb01)
对于精灵,显示类签名和内存地址。
答案 2 :(得分:0)
它会将您正在跟踪的内容的值打印到Flash IDE中的“输出”窗口。
它用于调试目的。