Jelajahi Sumber

修复角色跳跃问题

WGL 2 bulan lalu
induk
melakukan
8f7b9b0621

+ 31 - 2
ActionTowerDefense/Assets/Scripts/Characters/PlayerController.cs

@@ -1029,10 +1029,21 @@ public class PlayerController : MoveCharacter
 
                 break;
             case CharacterState.Rise:
-                if (CheckPlayerChangeState(CharacterState.Rise))
+                if(CheckSummon())
                 {
                     break;
                 }
+                if (btnRushPress || cacheRushTime > 0 || cacheRush)
+                {
+                    if (rushChargeNums > 0)
+                    {
+                        restSummonTime = 0;
+                        summonTime = 0;
+                        cacheRush = false;
+                        ChangeState(CharacterState.Rush);
+                        break;
+                    }
+                }
                 if (btnJumpPress || cacheJumpTime > 0)
                 {
                     if (airJumped < airJumpNumber && rb.velocity.y < canAirJumpSpeed)
@@ -1055,10 +1066,28 @@ public class PlayerController : MoveCharacter
                 }
                 break;
             case CharacterState.Fall:
-                if (CheckPlayerChangeState(CharacterState.Fall))
+                if(CheckSummon())
                 {
                     break;
                 }
+                if (btnRushPress || cacheRushTime > 0 || cacheRush)
+                {
+                    if (rushChargeNums > 0)
+                    {
+                        restSummonTime = 0;
+                        summonTime = 0;
+                        cacheRush = false;
+                        ChangeState(CharacterState.Rush);
+                        break;
+                    }
+                }
+                if (foot.TrigGround)
+                {
+                    if (CheckPlayerChangeState(CharacterState.Fall))
+                    {
+                        break;
+                    }
+                }
                 if (btnJumpPress || cacheJumpTime > 0)
                 {
                     if (canJumpTime > 0)