您的位置:首页 > 移动开发 > Cocos引擎

关于Cocos creator的Animation事件

2017-09-25 13:50 831 查看
在用cocos creator编辑器的时候遇到了一个问题,就是在给Animation添加动画事件的过程中事件不能执行。如果利用编辑器添加事件的话必须要把事件监听的脚本放在跟Animation组件一个控件下才会执行脚本注册的事件。


如上面的这个动画事件监听如果在组件下没有接收事件的脚本的话是调用不了的,必须在有Animation组件下挂载事件监听的脚本才行,如:我在这个TestSprite组件上挂载了一个Animation脚本,然后在动画里面添加了一个onAnimEnd事件,然后在Test脚本中实现了这个onAnimEnd函数,如果要让事件能够成功回调的话必须要把Test脚本挂载到TestSprite组件上上,也就是要事件回调实现跟Animation在同一个组件上,这样的话才能回调到。如果组件不挂载到同一个控件上的话是调用不到回调的。



如果不想两个组件挂载到同一个地方的话只能自己动态注册动画事件了,具体的地址在http://www.cocos.com/docs/creator/animation/scripting-animation.html#–10,例如要在结束的时候调用回调的话则:

onAnimEndListener: function (params) {
console.log('动画结束.....................................');
},

startAnim: function () {
let testSrpite= cc.find('Canvas/TestSrpite').getComponent(cc.Animation);
testSrpite.on('finished', this.onAnimEndListener, this);
testSrpite.play();
},
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos-creator