Jelajahi Sumber

敌方隐身英灵移动

LAPTOP-OM1V99U2\永远de小亡灵 1 tahun lalu
induk
melakukan
0b13852cd6

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

@@ -833,8 +833,8 @@ BoxCollider:
   m_IsTrigger: 1
   m_Enabled: 1
   serializedVersion: 2
-  m_Size: {x: 4.02, y: 3.52, z: 1}
-  m_Center: {x: -1.08, y: 0.83, z: 0}
+  m_Size: {x: 3.86, y: 2.37, z: 1}
+  m_Center: {x: -1.95, y: 1.04, z: 0}
 --- !u!54 &8257178686841521685
 Rigidbody:
   m_ObjectHideFlags: 0

+ 10 - 2
ActionTowerDefense/Assets/Resources/Prefab/ESpirits_Invisible.prefab

@@ -167,8 +167,16 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   rb: {fileID: 2437299196472462355}
-  moveSpeed: 10
-  altitude: 10
+  moveSpeed: 5
+  altitude: 7
+  randomRageY: 5
+  randomRageX: 5
+  offsetY: 0
+  offsetX: 0
+  targetPos: {x: 0, y: 0, z: 0}
+  stopsNumber: 3
+  nowNumber: 0
+  nowPlayer: 0
 --- !u!54 &2437299196472462355
 Rigidbody:
   m_ObjectHideFlags: 0

+ 28 - 1
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Invisible.cs

@@ -7,9 +7,36 @@ public class ESpirits_Invisible : MonoBehaviour
     public Rigidbody rb;
     public float moveSpeed;
     public float altitude;
+    public float randomRageY;
+    public float randomRageX;
+    [HideInInspector]
+    public float offsetY;
+    [HideInInspector]
+    public float offsetX;
+    [HideInInspector]
+    public Vector3 targetPos;
+    public int stopsNumber;
+    [HideInInspector]
+    public int nowNumber;
+    [HideInInspector]
+    public int nowPlayer;
     private void Update()
     {
-        Goto(new Vector3(PlayersInput.instance[0].transform.position.x, altitude,0));
+        targetPos =
+            new Vector3(PlayersInput.instance[nowPlayer].transform.position.x + offsetX, altitude + offsetY, 0);
+        Goto(targetPos);
+        if (Vector3.Distance(targetPos, transform.position) < 1)
+        {
+            
+            offsetY = Random.Range(-randomRageY, randomRageY);
+            offsetX = Random.Range(-randomRageX, randomRageX);
+            nowNumber++;
+            if (nowNumber > stopsNumber)
+            {
+                nowNumber = 0;
+                nowPlayer = 1 - nowPlayer;
+            }
+        }
     }
     public void Goto(Vector3 pos)
     {