我有一个 swf 文件,它是我的“shell”程序,其中包含许多功能。这个 shell 程序加载子电影。在子电影的根时间轴中,我有以下代码:
function putresponse(q,r) {
trace (r);
_root.debug(r);
}
_root.debug("foo");
调试是一个将一些文本写入屏幕的函数。当我在本地运行它时,将调用 putresponse 函数并进行跟踪。当我远程运行它(在 shell 内)时,第一次调试会在加载时立即发生(如您所料),但稍后当调用 putresponse 时,不会执行 debug(r)。外部剪辑与外壳的 url 相同,所以我认为这不是安全问题。另外,正如我所说, debug("foo") 工作正常。这个真的让我很困惑。任何人都可以解释为什么我不能从 _root 调用调试时从函数调用而不是在第一级时间轴上调用?
编辑:对 putresponse 的调用来自本地(在子 MC 内)MC 深处的两层。实际调用是:
_parent._parent.putrepsonse(q,r);