微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以通过Javascript控制SWF吗?

情况如下:

客户想要一个循环的SWF文件在它再次开始播放之前暂停两秒钟(这是徽标上的一个很好的构建动画,但是徽标不会长时间停留在屏幕上因为电影重复所以用户不能很长时间看这个标志.这是无关紧要的,但很好的背景故事.)

他们为我提供了一个SWF文件,但不是FLA.当我要求FLA时,我被告知包含FLA的硬盘崩溃并且无法检索.所以,这几乎是一个死胡同.

在我尝试去编译SWF和所有有趣的东西之前,我想知道是否有任何方法可以用HTMLJavascript完成.那是:

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

在这里上传了一些源文件here.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐