监听tick事件的结束,即easeJS/createJS/moveclip类
Listen to the end of tick event easelJS/createJS/movieclip class
我使用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事件已经订阅,它会在特定的时间段内更新画布。
我的问题是,是否可以检测动画何时结束。基本上,我需要在动画结束后调用一个方法。不,我没有为此目的使用精灵表,如果这有帮助的话:-)
谢谢大家。
我为此做了一个变通。
不幸的是,当动画在movieclip类中结束时,没有可以触发的事件,也就是说,没有像位图动画类中那样的onAnimationEnd
我修改了movieclip类,以便在特定帧上调用一个方法(在没有动态更改内容的情况下很有用,这样我就可以知道我拥有的帧数)。
我需要一直这样做。我使用的方法是在Flash Actions面板中的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 Actions面板中添加代码:
this.callback();
this.stop();
当然,你可能需要在此基础上再接再厉才能发挥作用,但我希望这会有所帮助。
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- CreateJS:无法使tweening工作
- Createjs冲突问题localToLocal不是函数错误
- createjs动态文本重叠
- createjs:是否可以对文本进行辩护
- 如何使用其他 JavaScript 文件中的新类访问我的 createjs 导出的 js 文件
- 如果 CreateJS 库支持 Texture Packer 的 JSON 输出格式
- CreateJS - d.mousedown.f error on hitAreas
- 使用Flash CC和Createjs的子访问功能
- 在CreateJS中加载视频的最简单方法
- Createjs DomElement创建一个窗体
- 我们可以通过命令行从flash导出到createjs吗
- 停止createjs Flash动画中的所有动画
- Createjs为游戏创建计时器
- Using Createjs and Chartjs
- 类型错误:createjs.Sprite不是构造函数
- 如何完全清除CreateJS代码和画布
- createjs:单击时形状神秘地移动
- Flash Pro CC HTML5画布&CreateJS-如何将lib文件更新到最新版本
- 监听tick事件的结束,即easeJS/createJS/moveclip类