所以我遇到了一个问题,我认为这主要是因为我已经有 5 年没有使用 as2 了,所以事情很模糊。无论如何,我的问题是我需要在 Flash 电影中显示 PDF 文件。为此,我求助于在我的后端运行 SWFTools 并将 pdf 转换为 swf 以进行显示。不过,SWFTools 会输出 AS2 文件,我可以将这些文件加载到 AS3 中,但我实际上无法控制(例如,调用 stop())。
因此,我使用了一个 AS2 加载程序,该加载程序被加载到负责加载转换后的 pdf swfs 的 AS3 项目中。我遇到的问题是,当我通过 AS3 加载 AS2 文件时,侦听器似乎没有被触发,但在它自己运行时它触发得很好。
这是我正在运行的代码。总结一下,当我自己运行此代码时,“LOADED”会正确打印到输出,并且加载的 SWF 会停止。但是,当我通过 AS3 容器运行它时,swf 会正确加载,但“已加载”跟踪永远不会发生,并且不会执行停止。
非常感谢您的帮助!
var loader:MovieClipLoader
var listener = new Object();
listener.onLoadComplete = function(loadedClip) {
trace("LOADED");
loadedClip.stop();
}
loadFile("data/testing.swf");
function loadFile(target){
loader = new MovieClipLoader();
loader.addListener(listener);
loader.loadClip(target, holder_mc);
}