2012-12-03 54 views
0

所以我遇到了一个问题,我认为这主要是因为我在5年左右没有与as2合作过,所以事情很朦胧。无论如何,我的问题是我需要在Flash电影中显示PDF文件。为此,我使用了后端运行SWFTools并将pdf转换为swf来显示。 SWFTools输出的AS2文件可以加载到AS3中,但我实际上无法控制(例如,调用stop())。onLoadComplete不能使用通过AS3加载的AS2 SWF

因此,我采取了使用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); 
} 

回答

0

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

相关问题