0

在下面的示例中,我能否知道 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); 
4

3 回答 3

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 播放器有一种方法可以实现这一点。一旦将其写入文件,他们就会“监视”该文件的任何更改,并在文件更改时打印到自己的控制台中。

于 2012-05-11T13:30:21.220 回答
1

Trace 会将 reportXML 变量的字符串值打印到 IDE 控制台。跟踪结果仅在调试代码时可见。

前任:

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)

对于精灵,显示类签名和内存地址。

于 2012-05-11T12:58:48.290 回答
0

它会打印出您正在跟踪到 Flash IDE 中的“输出”窗口的任何值。

它用于调试目的。

于 2012-05-11T11:15:20.103 回答