2016-06-22 52 views
0

我正在使用PIXI.extras.MovieClip播放短动画(约60帧),并且由于不知道将在用户设备上有多少FPS,我无法说出播放所有帧需要很多时间。 setTimeout也不能保证函数会在指定的时间后正好触发,所以它也不是我解决这个问题的方法。PIXI.extras.MovieClip捕捉循环末尾

当动画播放完成时,我想在代码中触发一些事件来删除MovieClip并写入一些日志。

问题是,我找不到任何类型的触发器/回调,当动画的最后一帧被渲染时将被调用。

示例代码:

movie = new PIXI.extras.MovieClip(someFrames); 
movie.animationSpeed = 1; 
movie.onComplete = animationFinished; 
movie.play() 

animationFinished = function() { 
    console.log("Animation just reached it's end."); 
    movie.gotoAndStop(0); 
}; 

明显的问题是,movie.onComplete不会被调用。有什么办法可以做到这一点?

感谢您的任何建议和想法。 快乐编码!

回答

0
movie = new PIXI.extras.MovieClip(someFrames); 
movie.animationSpeed = 1; 
movie.onComplete = animationFinished; 
movie.loop = false; 
movie.play(); 

animationFinished = function() { 
    console.log("Animation just reached it's end."); 
    movie.gotoAndStop(0); 
}; 
+2

请编辑更多的信息。仅限代码和“尝试这个”的答案是不鼓励的,因为它们不包含可搜索的内容,也不解释为什么有人应该“尝试这个”。 – abarisone