首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不跟踪地调试AS2

不跟踪地调试AS2
EN

Stack Overflow用户
提问于 2015-03-13 11:50:23
回答 1查看 717关注 0票数 0

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

该游戏是一个非HTML事件,并使用一些scaleform对象。例如,在与文本工具粘贴的新文本对象中创建了一个框架。在行动中:

代码语言:javascript
复制
var displaytext = _root.attachMovie("coords", "coords" + root.getNextHighestDepth(), _root.getNextHighestDepth());
 displaytext.innerText.text = "hi";

在课堂上:

代码语言:javascript
复制
class coords extends MovieClip {

    public function coords() {
        // constructor code
    }

private var innerText:TextField;

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

但游戏里什么都没出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-13 16:09:17

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

代码语言:javascript
复制
ExternalInterface.call('console.log', 'your debug text'); 

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

AS 2 :

代码语言:javascript
复制
ExternalInterface.call('log', 'your debug text'); 

Javascript :

代码语言:javascript
复制
function log(message){
    document.getElementById('log').innerHTML += '<br>' + message;
}

还可以使用Flash日志文件(flashlog.txt)将所有跟踪语句保存到外部文本文件中。为此,您必须启用swf的调试(来自Flash发布设置),并使用Flash调试版本(您可以从这里获得该版本),然后可以查看我对这个问题的回答以获得flashlog.text。

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

希望能帮上忙。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29031512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档