我正在使用Loader将AMV1Movie(使用Toon Boom Studio创建的电影)添加到我的AS3.0阶段。如何确定AMV1Movie何时播放它的最后一帧?
答案 0 :(得分:1)
如果不从原始电影中发送内容,您必须轮询它的currentFrame和numFrames属性,并且只有在主时间轴是动画/节目的准确描述时才会准确。如果AVM1Movie通过代码动画或嵌套了动画片段,那么就没有什么好方法可以知道它何时“完成”。
最好的办法是打开它并在最后添加一个事件。
答案 1 :(得分:0)
我使用ForcibleLoader将AVM1Movie加载为MovieClip:
var uic: UIComponent = ....
...
var loader:Loader = Loader(1uic.addChild(new Loader()));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, startPlay);
var fLoader:ForcibleLoader = new ForcibleLoader(loader);
fLoader.load(new URLRequest("....swf"));
然后我检查是否(movie.currentFrame + 1> = movie.totalFrames)
我使用此功能来控制uic.click事件以停止和播放电影:
private function controlSwf(event: Event): void {
var e: Event = event;
var movie: MovieClip = MovieClip(Loader(event.target).content);
if (movie.currentFrame + 1 >= movie.totalFrames) {
movie.gotoAndPlay(1);
play = true;
} else if (play) {
play = false;
movie.stop();
} else {
play = true;
movie.play();
}
}