Пример #1
0
 public override string switchToNextState()
 {
     if (AnimCtl.isArrivedTargetForChase())//追上了,转攻击
     {
         return("HeroAttackState");
     }
     else if (AnimCtl.isOutofRangeForChase())//超范围,停止追逐,返回原地
     {
         return("HeroIdleState");
     }
     else if (AnimCtl.IsRunning)
     {
         return("HeroRunState");
     }
     else if (AnimCtl.IsJumping)
     {
         return("HeroJumpState");
     }
     return(base.switchToNextState());
 }
Пример #2
0
 public override string switchToNextState()
 {
     if (AnimCtl.IsJumping)
     {
         return("HeroJumpState");//转到 jump 状态
     }
     else if (AnimCtl.IsRunning)
     {
         return("HeroRunState");//转到 run 状态
     }
     else if (AnimCtl.IsChasing)
     {
         return("HeroChaseState");               //转到 chase 状态
     }
     else if (AnimCtl.isArrivedTargetForChase()) //如果在攻击范围内
     {
         return("HeroAttackState");
     }
     return(base.switchToNextState());
 }
Пример #3
0
 public override string switchToNextState()
 {
     if (AnimCtl.IsJumping)
     {
         return("HeroJumpState");
     }
     else if (AnimCtl.isArrivedTarget())
     {
         AnimCtl.checkEnemy();
         if (AnimCtl.IsChasing)       //TODO: 可能遇到敌人了。
         {
             return("HeroIdleState"); //避免切换状态太快 动画奇怪
         }
         else if (AnimCtl.isArrivedTargetForChase())
         {
             return("HeroAttackState");
         }
         else
         {
             return("HeroIdleState");
         }
     }
     return(base.switchToNextState());
 }