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技术文章)