这里实现角色被尖刺攻击后出现的被打击动画,首先需要准备角色被打击动画。
在animation窗口中找到create new clip,创建新动画,在右侧中把角色的关键帧拖过去。设置了被打击的时间为0.5秒。
创建好角色动画后,在观察角色动画,点击。
可以看到角色已经发生动画了,接下来对动画进行编辑,在Animator中创建Trigger类型为“hurt”。
点击角色动画的连接处。
在右侧出现的窗口中将fixed duration取消,所有的延迟改为0,并且在最下面添加变量,也就是刚刚创建的变量hurt。
按照下方操作设置,设置连接角色静止和被打击之间的动画。
最后在角色被击打的函数中添加代码:
anim.SetTrigger("hurt");
当角色被击打时才执行被击打动画
完整代码如下:
public void KnockBack(){
knockBackCounter = knockBackLength;
theRB.velocity = new Vector2(0f, knockBackForce); // 给y值一个变量,角色会出现向上蹦一下的效果
anim.SetTrigger("hurt");
}