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

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

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

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

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

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

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

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


【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码)_第2张图片
刚开始播放动画,就显示掉血信息

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


【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码)_第3张图片
播放完动画,之后显示掉血信息

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

像这样:


【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码)_第4张图片
人物背部接触地面的那一帧,显示掉血信息

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

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

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



具体做法:

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

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


【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码)_第5张图片
刚刚做好的动画

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


【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码)_第6张图片
红色竖线的位置,是我们当前选中的帧

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


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

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


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

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

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

我们现在填入showBlood,如下:


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

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

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

关键代码如下:


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

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

感谢阅读。

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


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

你可能感兴趣的:(【CocosCreator入门】动画组件Animation的回调(播放到动画某一帧时运行代码))