trace()的功能是什么?

时间:2012-05-11 11:08:06

标签: xml actionscript-3

在下面的例子中,我可以知道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); 

3 个答案:

答案 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中的“输出”窗口。

它用于调试目的。

相关问题