Răsfoiți Sursa

修复“击晕”的文字提示不会消失问题

WGL 4 luni în urmă
părinte
comite
d8d9019575

+ 15 - 0
ActionTowerDefense/Assets/Resources/Prefab/FX/State.prefab

@@ -110,6 +110,7 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 2528763506941341260}
+  - component: {fileID: 8678943853245671376}
   m_Layer: 0
   m_Name: State
   m_TagString: Untagged
@@ -133,6 +134,20 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8678943853245671376
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4272231268506418309}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63e2d62f3b573954e827beb994374f15, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  time: 0
+  disappearTime: 1
 --- !u!1 &7813536448118523970
 GameObject:
   m_ObjectHideFlags: 0

+ 4 - 6
ActionTowerDefense/Assets/Scripts/Characters/Character.cs

@@ -111,7 +111,6 @@ public class Character : MonoBehaviour
 
     [Header("״̬ÏÔʾ(ÁÙʱ)")]
     public GameObject statePre;
-    private GameObject curStateObj;
     private TextMeshProUGUI stateText;
     private float pastWordTime;
 
@@ -190,7 +189,6 @@ public class Character : MonoBehaviour
             pastWordTime -= Time.deltaTime;
             if (pastWordTime <= 0)
             {
-                curStateObj.SetActive(false);
                 pastWordTime = 0;
             }
         }
@@ -308,9 +306,9 @@ public class Character : MonoBehaviour
 
     public void ChangeStateText(CharacterState state)
     {
-        curStateObj = PoolManager.Instantiate(statePre);
-        stateText = curStateObj.GetComponentInChildren<TextMeshProUGUI>();
-        curStateObj.transform.position = transform.position + Vector3.up;
+        GameObject obj = PoolManager.Instantiate(statePre);
+        stateText = obj.GetComponentInChildren<TextMeshProUGUI>();
+        obj.transform.position = transform.position + Vector3.up;
         pastWordTime += 0.5f;
         switch (state)
         {
@@ -330,6 +328,6 @@ public class Character : MonoBehaviour
                 stateText.text = "½©Ö±";
                 break;
         }
-        curStateObj.SetActive(true);
+        obj.SetActive(true);
     }
 }