Unity:角色三连击

首先,我们要先研究下 他的动作关系这个角色的动作有idle attack1 attack2  attack3 jump  run

Unity:角色三连击_第1张图片

那么我们要使用新动画系统的Animator Controller来进行 动画的连接创建一个Animator Controller把咱用到的动画 都拖进去  吧idle设为默认动画

然后  咱就开始连连看吧 三连击击肯定是idle--->attack1--->attack2--->attack3

这个套路然后  这3个攻击到哪攻击一定时间不操作了  肯定 就会反回idle状态

所以需要这么连接

Unity:角色三连击_第2张图片

连好后 我需要 拿脚本 来控制他们的切换  需要 一个变量  我们来建立一个attack个int变量 给那些线 添加这个变量

Idle到attack1   Int值为1

attack1到attack2   Int值为2

Attack2到attack3   Int值为3

attack1  attack2  attack3返回idle    int都为0

好了 这样 就可以拿这个变量控制啦

下面开始 写脚本

调用 动画  什么的就不说啦

直接说重点  三连击 核心就是 拿时间判断 你在这段时间内让没让我做出下一个动作

那么 怎么获取动画 时间之类的呢

我们可以用animSta=anim.GetCurrentAnimatorStateInfo (0);来获取动画信息,这样 就可以 用 它里面 的is name判断 现在 哪个动画名下面, 用normalizedTime

来判断 动画 时间 剩下的 就是条件判断咯

代码如下:

Unity:角色三连击_第3张图片

Unity:角色三连击_第4张图片
Unity:角色三连击_第5张图片

你可能感兴趣的:(Unity:角色三连击)