【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码)

原文地址:https://www.jianshu.com/p/17c761e45d62

有的时候,我们希望在动画执行到某一帧的时候,执行某些逻辑。

比如我们制作了人物倒地的动画,如下:

关于如何制作一个动画,请参考教程Animation动画的制作和使用


假设有一个需求是人物倒地时掉血,那么我们什么时候显示掉血的信息呢?

脑海中可能会闪过几个方案:

一开始播放倒地动画就展示,像下面这样?



刚开始播放动画,就显示掉血信息                                             

还是等播放完动画再显示,像下面这样?



播放完动画,之后显示掉血信息

还是说在动画播放到某一帧时,显示掉血信息,比如,当人物的背部刚刚碰到地面的时候,显示掉血信息。

像这样:



人物背部接触地面的那一帧,显示掉血信息

那么,通过对比以上方案,你觉得哪一种方案比较合适呢?

我们可以看到,针对本次需求,第三种可能更为合适

要做到这种效果,我们就需要在动画播放到指定的帧时,执行逻辑



具体做法:

首先,我们需要制作一个动画:

关于制作动画的方法,请参考教程:Animation动画的制作和使用



刚刚做好的动画

我们点击想要执行逻辑的帧,也就是人物刚刚着地的一帧(点击蓝色的菱形),红色的竖线会移动过来:



红色竖线的位置,是我们当前选中的帧

点击左侧光标形按钮,在当前位置插入一个关键帧,插入之后会出现一个小白方块:



插入成功之后,双击小白方块,会弹出如下窗口:



我们在FUNCTION栏中,填入我们想要执行的函数名,随意填即可。

该函数会在动画播放到这一帧的时候运行。

我们现在填入showBlood,如下:



填完之后直接关闭此窗口即可。

退出动画编辑模式,保存动画,开始编写代码。

关键代码如下:



这样,当动画播放到刚刚指定的那一帧时,showBlood函数就会作为回调函数执行了。

感谢阅读。

喜欢请关注作者微信公众号(独立游戏开发笔记):




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章