无跟踪调试 AS2

Debugging AS2 without Trace

目的是在Flash CS6外调试AS2IDE。它来自使用大量导入 classes 的游戏。我对 AS2 的了解充其量是有限的,因此它目前似乎没有结果产生其他语言中常见的简单任务,例如写入文本文件,甚至只是显示这里需要的变量的内容。 有什么简单的方法吗?

该游戏与 HTML 无关,并使用了一些比例对象。 例如,在使用文本工具粘贴的新文本对象中创建了一个框架。这在操作中:

var displaytext = _root.attachMovie("coords", "coords" + root.getNextHighestDepth(), _root.getNextHighestDepth());
 displaytext.innerText.text = "hi";

在class中:

class coords extends MovieClip {

    public function coords() {
        // constructor code
    }

private var innerText:TextField;

function SetText(text)
{
        innerText.text = text;
}
}

但游戏中没有任何显示。

要在 Flash IDE 之外调试您的 swf,您可以使用 ExternalInterface.call() 调用 HTML 页面中的任何 javascript 函数,例如您可以这样做:

ExternalInterface.call('console.log', 'your debug text'); 

这将直接在浏览器的控制台日志中显示您的文本,当然如果您的浏览器不支持 console.log 您可以使用任何其他方法来获取您的文本,如下所示:

AS 2 :

ExternalInterface.call('log', 'your debug text'); 

Javascript :

function log(message){
    document.getElementById('log').innerHTML += '<br>' + message;
}

您还可以使用 Flash Player 日志文件 (flashlog.txt) 将所有跟踪语句保存到外部文本文件中。 为此,您必须为您的 swf 启用调试(来自 Flash IDE 发布设置)并使用 Flash Player 调试版本(您可以从 here ) and then you can take a look on my answer of 获得您的 flashlog.text .

如果您在本地测试,请查看我对 的回答以避免一些 Flash Player 安全问题。

希望能帮到你。