0

所以我遇到了一个问题,我认为这主要是因为我已经有 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);
}
4

1 回答 1

0

SWF Tools确实支持 AS3,您需要在选项中更改它。

1. Open your PDF in swf tools
2. Edit=>Options
3. Viewer tab
4. Check "No viewer" and flash version 9. (Or use the simple viewer) 
    - You can also do the "Insert stop after each frame"

我知道这一点是因为我对 PDF 做了同样的事情。如果您没有这些选项,那么是时候下载最新版本了!

于 2012-12-04T00:17:24.990 回答