فهرست منبع

刺客状态和修改collider

LAPTOP-OM1V99U2\永远de小亡灵 1 سال پیش
والد
کامیت
5f43b59d39

+ 3 - 2
ActionTowerDefense/Assets/Resources/Prefab/ESpirits_Assassin.prefab

@@ -316,6 +316,7 @@ MonoBehaviour:
   soulStartSpeed: 30
   dropSoulAngle: 0
   isSpiritsAttack: 0
+  isDash: 0
 --- !u!1 &2437299196663985757
 GameObject:
   m_ObjectHideFlags: 0
@@ -832,8 +833,8 @@ BoxCollider:
   m_IsTrigger: 1
   m_Enabled: 1
   serializedVersion: 2
-  m_Size: {x: 4.02, y: 1.75, z: 1}
-  m_Center: {x: -1.36, y: 0.83, z: 0}
+  m_Size: {x: 4.02, y: 3.52, z: 1}
+  m_Center: {x: -1.08, y: 0.83, z: 0}
 --- !u!54 &8257178686841521685
 Rigidbody:
   m_ObjectHideFlags: 0

+ 2 - 2
ActionTowerDefense/Assets/Resources/Prefab/Spirits_Assassin.prefab

@@ -817,8 +817,8 @@ BoxCollider:
   m_IsTrigger: 1
   m_Enabled: 1
   serializedVersion: 2
-  m_Size: {x: 4.02, y: 1.75, z: 1}
-  m_Center: {x: -1.36, y: 0.83, z: 0}
+  m_Size: {x: 4.02, y: 3.52, z: 1}
+  m_Center: {x: -1.08, y: 0.83, z: 0}
 --- !u!114 &5670168015807601097
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 4 - 1
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Assassin.cs

@@ -97,6 +97,7 @@ public class ESpirits_Assassin : MonoBehaviour
                     enemy.ani.Play("charge", 0, 0);
                     aim.SetActive(true);
                     aimDistance = dashTime * dashSpeed/2;
+                    rb.constraints = RigidbodyConstraints.FreezeAll;
                     state = AssassinState.ReadyToDash;
                 }
                 break;
@@ -114,7 +115,8 @@ public class ESpirits_Assassin : MonoBehaviour
                     aim.SetActive(false);
                     aim.transform.localScale = Vector3.one;
                     time = 0;
-                    
+                    rb.constraints =
+                        RigidbodyConstraints.FreezeRotationZ | RigidbodyConstraints.FreezeRotation;
                     state = AssassinState.Dash;
                 }
                 break;
@@ -185,6 +187,7 @@ public class ESpirits_Assassin : MonoBehaviour
                     enemy.ChangeState(CharacterState.Idle);
                     enemy.isSpiritsAttack = false;
                     enemy.isDash = false;
+                    
                     state = AssassinState.Normal;
                 }
                 break;