HitTargetNumber.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using DG.Tweening;
  6. public class HitTargetNumber : MonoBehaviour
  7. {
  8. void Awake()
  9. {
  10. DoText();
  11. }
  12. void DoText()
  13. {
  14. RectTransform rtf = this.transform.GetComponentInChildren<Text>().rectTransform;
  15. Sequence seq = DOTween.Sequence();
  16. float scale1 = rtf.localScale.x * 3.3f;
  17. float scale2 = rtf.localScale.x;
  18. rtf.localScale = Vector3.zero;
  19. seq.Append(rtf.DOScale(new Vector3(scale1, scale1, 0), 0.1f));
  20. seq.Append(rtf.DOScale(new Vector3(scale2, scale2, 0), 0.1f));
  21. seq.AppendInterval(1.88f);
  22. seq.Append(rtf.GetComponent<Text>().DOFade(0, 0.23f));
  23. seq.AppendCallback(delegate() {
  24. Destroy(this.gameObject);
  25. });
  26. }
  27. public static void Create(int number) {
  28. if (number <= 0) return;
  29. GameObject o = GameObject.Instantiate(
  30. Resources.Load<GameObject>("Prefabs/Effects/HitTargetNumber"),
  31. Vector3.zero,
  32. Quaternion.identity,
  33. GameObject.Find("Canvas").transform
  34. );
  35. o.transform.localPosition = new Vector3(340, 180, 0);
  36. o.GetComponentInChildren<Text>().text = number.ToString();
  37. }
  38. }