情况是这样的:
客户希望循环的 SWF 文件在重新开始播放之前暂停两秒钟(这是一个很好的徽标上的构建动画,但徽标不会在屏幕上停留很长时间,因为电影会重复播放,因此用户无法长时间看到徽标。这是无关紧要的,但很好的背景故事。)
他们向我提供了 SWF 文件,但没有提供 FLA。当我要求提供 FLA 时,我被告知包含 FLA 的硬盘驱动器崩溃并且无法检索。所以,这几乎是一个死胡同。
在尝试反编译 SWF 和所有有趣的东西之前,我想知道是否有任何方法可以使用 HTML 和 Javascript 来完成此操作。那是:
- 有 SWF 循环
- 电影暂停两秒后再重新开始
你怎么认为?
使用 JavaScript 很难做到这一点,但如果将 swf 加载到另一个 swf 中,则非常容易。然后您就可以访问原始 swf 的主时间线并能够控制它。如果你想控制一个名为 targetMovie.swf 的电影,你可以这样做:
var loader:Loader = new Loader();
loader.load(new URLRequest("targetMovie.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
addChild(loader);
var logoMovie:MovieClip;
function onComplete(evt:Event):void{
logoMovie = MovieClip(loader.content);
// call pauseMovie at end of timeline
logoMovie.addFrameScript(logoMovie.totalFrames-1, pauseMovie);
}
function pauseMovie():void{
logoMovie.stop();
// delay for two seconds;
setTimeout(function(){
logoMovie.play();
}, 2000);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)