首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何循环加载加载的SWF文件?

如何循环加载加载的SWF文件?
EN

Stack Overflow用户
提问于 2014-06-24 19:13:31
回答 1查看 302关注 0票数 1

我想循环一个swf文件,这个文件是通过AS3中的Loader类加载的。我的代码如下:

代码语言:javascript
复制
public class MyLoader extends MovieClip {
    public function MyLoader() {
        var myLoader:Loader = new Loader();
        var url:URLRequest = new URLRequest("external-movie.swf");
        myLoader.load(url);
        myLoader.contentLoaderInfo.addEventListener("complete", function() {
      });
      addChild(myLoader);
    }
}

据我所知,装载机没有事件时,嵌入式电影完成?有办法弄清楚吗?它不能是AS3实现。我只想让一部已经从Indesign导出的电影在循环中运行。提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 19:35:15

特别是当您没有编程经验时,您应该避免使用脏的快捷方式,因为它们只会给您带来很多麻烦。因此,避免使用匿名函数,并避免使用字符串代替静态事件变量。也就是说,如果加载的电影有自己的时间线,那么它将被转换为MovieClip。另外,那部电影不是嵌入的,而是加载的,这是一个很大的不同。

保存电影和装载机的参考资料:

代码语言:javascript
复制
private var theLoadedMovie:MovieClip;
private var myLoader:Loader;

侦听INIT事件而不是完整事件(当第一个帧加载"INIT“时,具有时间线的电影开始播放,整个事件在加载整个电影时触发)。

代码语言:javascript
复制
myLoader = new Loader();
var url:URLRequest = new URLRequest("external-movie.swf");
myLoader.load(url);
myLoader.contentLoaderInfo.addEventListener(Event.INIT, handleInit);

在您的handleInit方法中,保留对该电影的引用:

代码语言:javascript
复制
theLoadedMovie = myLoader.content as MovieClip;
addChild(theLoadedMovie);
theLoadedMovie.addEventListener(Event.ENTERFRAME, handleEnterFrame);

在您的handleEnterFrame方法中,检查电影进度以了解它何时结束:

代码语言:javascript
复制
if(theLoadedMovie.currentFrame == theLoadedMovie.totalFrames)
{
     //movie has reached then end
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24394493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档