Bläddra i källkod

伤害跳字位置可调

wgl 5 månader sedan
förälder
incheckning
c9da29f4a3
1 ändrade filer med 14 tillägg och 3 borttagningar
  1. 14 3
      ActionTowerDefense/Assets/Scripts/Characters/MoveCharacter.cs

+ 14 - 3
ActionTowerDefense/Assets/Scripts/Characters/MoveCharacter.cs

@@ -8,8 +8,7 @@ using Sirenix.OdinInspector;
 
 public class MoveCharacter : Character
 {
-    [FoldoutGroup("组件")]
-    public Foot foot;
+    [FoldoutGroup("组件")] public Foot foot;
     [HideInInspector] public AttributeStatus attributeStatus;
     private ScreenReflectPresets screenReflectPresets;
     [HideInInspector] public HitFeedbackSystem hitFeedbackSystem;
@@ -80,6 +79,11 @@ public class MoveCharacter : Character
     [DisplayOnly]
     public Character killer;
 
+    [FoldoutGroup("伤害跳字")] [LabelText("起手式位置")] public Vector2 injuryNumPos_summon = new Vector2(0, 1);
+    [FoldoutGroup("伤害跳字")] [LabelText("起手式随机范围")] public Vector2 injuryNumRandom_summon = Vector2.one;
+    [FoldoutGroup("伤害跳字")] [LabelText("行军式位置")] public Vector2 injuryNumPos_march = new Vector2(0, 1);
+    [FoldoutGroup("伤害跳字")] [LabelText("行军式随机范围")] public Vector2 injuryNumRandom_march = Vector2.one;
+
     public virtual void Awake()
     {
         spinee = bodyTrans.GetChild(0).gameObject;
@@ -270,13 +274,20 @@ public class MoveCharacter : Character
             if (isBeHitBySummonAttack)
             {
                 injuryNum = Instantiate(injuryNumTextSummon);
+                injuryNum.transform.position = new Vector3(
+                    transform.position.x + injuryNumPos_summon.x + Random.Range(-injuryNumRandom_summon.x, injuryNumRandom_summon.x),
+                    transform.position.y + injuryNumPos_summon.y + Random.Range(-injuryNumRandom_summon.y, injuryNumRandom_summon.y),
+                    transform.position.z);
             }
             //不是起手式
             else
             {
                 injuryNum = Instantiate(injuryNumText);
+                injuryNum.transform.position = injuryNum.transform.position = new Vector3(
+                    transform.position.x + injuryNumPos_march.x + Random.Range(-injuryNumRandom_march.x, injuryNumRandom_march.x),
+                    transform.position.y + injuryNumPos_march.y + Random.Range(-injuryNumRandom_march.y, injuryNumRandom_march.y),
+                    transform.position.z);
             }
-            injuryNum.transform.position = new Vector3(transform.position.x + Random.Range(-1f, 1f), transform.position.y + 1, transform.position.z);
             TextMeshProUGUI text = injuryNum.GetComponentInChildren<TextMeshProUGUI>();
             text.text = damage.ToString();
             if (gameObject.CompareTag("Player"))