原文地址:https://www.jianshu.com/p/17c761e45d62
有的时候,我们希望在动画执行到某一帧的时候,执行某些逻辑。
比如我们制作了人物倒地的动画,如下:
关于如何制作一个动画,请参考教程:Animation动画的制作和使用
假设有一个需求是人物倒地时掉血,那么我们什么时候显示掉血的信息呢?
脑海中可能会闪过几个方案:
一开始播放倒地动画就展示,像下面这样?
还是等播放完动画再显示,像下面这样?
还是说在动画播放到某一帧时,显示掉血信息,比如,当人物的背部刚刚碰到地面的时候,显示掉血信息。
像这样:
那么,通过对比以上方案,你觉得哪一种方案比较合适呢?
我们可以看到,针对本次需求,第三种可能更为合适。
要做到这种效果,我们就需要在动画播放到指定的帧时,执行逻辑。
具体做法:
首先,我们需要制作一个动画:
关于制作动画的方法,请参考教程:Animation动画的制作和使用
我们点击想要执行逻辑的帧,也就是人物刚刚着地的一帧(点击蓝色的菱形),红色的竖线会移动过来:
点击左侧光标形按钮,在当前位置插入一个关键帧,插入之后会出现一个小白方块:
插入成功之后,双击小白方块,会弹出如下窗口:
我们在FUNCTION栏中,填入我们想要执行的函数名,随意填即可。
该函数会在动画播放到这一帧的时候运行。
我们现在填入showBlood,如下:
填完之后直接关闭此窗口即可。
退出动画编辑模式,保存动画,开始编写代码。
关键代码如下:
这样,当动画播放到刚刚指定的那一帧时,showBlood函数就会作为回调函数执行了。
感谢阅读。
喜欢请关注作者微信公众号(独立游戏开发笔记):