我想循环一个swf文件,这个文件是通过AS3中的Loader类加载的。我的代码如下:
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导出的电影在循环中运行。提前感谢
发布于 2014-06-24 19:35:15
特别是当您没有编程经验时,您应该避免使用脏的快捷方式,因为它们只会给您带来很多麻烦。因此,避免使用匿名函数,并避免使用字符串代替静态事件变量。也就是说,如果加载的电影有自己的时间线,那么它将被转换为MovieClip。另外,那部电影不是嵌入的,而是加载的,这是一个很大的不同。
保存电影和装载机的参考资料:
private var theLoadedMovie:MovieClip;
private var myLoader:Loader;侦听INIT事件而不是完整事件(当第一个帧加载"INIT“时,具有时间线的电影开始播放,整个事件在加载整个电影时触发)。
myLoader = new Loader();
var url:URLRequest = new URLRequest("external-movie.swf");
myLoader.load(url);
myLoader.contentLoaderInfo.addEventListener(Event.INIT, handleInit);在您的handleInit方法中,保留对该电影的引用:
theLoadedMovie = myLoader.content as MovieClip;
addChild(theLoadedMovie);
theLoadedMovie.addEventListener(Event.ENTERFRAME, handleEnterFrame);在您的handleEnterFrame方法中,检查电影进度以了解它何时结束:
if(theLoadedMovie.currentFrame == theLoadedMovie.totalFrames)
{
//movie has reached then end
}https://stackoverflow.com/questions/24394493
复制相似问题