onLoadComplete无法使用通过AS3加载的AS2 SWF



所以我遇到了一个问题,我认为这主要是因为我已经5年没有使用as2了,所以事情还很模糊。不管怎样,我的问题是我需要在flash电影中显示PDF文件。为此,我在后台运行SWFTools,并将pdf转换为swf进行显示。不过,SWFTools输出AS2文件,我可以将这些文件加载到AS3中,但实际上无法控制(例如,调用stop())。

因此,我使用了一个AS2加载程序,它被加载到AS3项目中,该项目负责加载转换后的pdf swfs。我遇到的问题是,当我通过AS3加载AS2文件时,侦听器似乎没有启动,但当它自己运行时,它会很好地启动。

这是我正在运行的代码。总结一下,当我在它自己的"LOADED"上运行此代码时,它正确地打印到输出中,并且加载的SWF停止。然而,当我通过AS3容器运行它时,swf会正确加载,但"LOADED"跟踪从未发生,停止也不会执行。

非常感谢你的帮助!

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);
}

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做过同样的事情。如果你没有这些选项,那么是时候下载最新版本了!

最新更新