我使用flash创建了一个简单的动画,并将其导出为createJS动画(HTML5)。当我浏览源代码时,我看到了
function handleComplete() {
exportRoot = new lib.stage_01();
stage = new createjs.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
createjs.Ticker.setFPS(25);
createjs.Ticker.addEventListener("tick", stage);
}
我猜这个tick事件是订阅的,它会在每个特定的持续时间内更新画布。
我的问题是,是否可以检测动画何时结束。基本上,我需要在动画结束后调用一个方法。不,我没有为此目的使用spritesheet,如果这有帮助: - )
谢谢你们。
答案 0 :(得分:1)
我为此做了一个工作。
不幸的是,动画在动画片段类结束时没有可以触发的事件,即 BITMAP ANIMATION CLASS
中没有onAnimationEnd
我修改了我的movieclip类来调用特定帧上的方法(当没有动态变化的内容时很有用,这样我就可以知道我拥有的帧数。)
答案 1 :(得分:0)
我需要一直这样做。我使用的方法是将一些代码实际添加到Flash动作面板中的MovieClip的时间轴中。例如,我将添加:
this.is_playing=false;
this.stop();
当我启动动画时将myMovieClip.is_paying设置为true,然后在我的游戏更新循环中监听myMovieClip.is_playing变为false。
gameUpdateLoop = function(){
if(!myMovieClip.is_playing){
//do something
}
}
myMovieClip.is_paying = true;
myMovieClip.gotoAndPlay("jump");
另一种方式...... 您还可以在Javascript中将自己的回调添加到MovieClip,例如:
myMovieClip.callback = someFunction;
myMovie.gotoAndPlay("jump");
然后在Flash MovieClip时间轴中,在跳转动画结束时,在Flash动作面板中添加代码:
this.callback();
this.stop();
当然,您可能需要在此基础上发挥作用,但我希望有所帮助。