wangguan
2020-12-23 1e192494412a34d17548834a6aff639202cdfdda
Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs
@@ -12,6 +12,10 @@
    public Image CritWord;
    public Image FrostWord;
    public Image RestrainWord;
    private float scaleOffect = 1.5f;
    /// <summary>
@@ -86,12 +90,46 @@
        Sequence sequence = DOTween.Sequence();
        CritWord.color = new Color(1f, 1f, 1f, 0.8f);
        sequence.Join(DOTween.To(() => CritWord.transform.position, (Vector3 v) => CritWord.transform.position = v,
            new Vector3(CritWord.transform.position.x + 65, CritWord.transform.position.y + 25, CritWord.transform.position.z), 0.2f));
            new Vector3(CritWord.transform.position.x + 70, CritWord.transform.position.y + 20, CritWord.transform.position.z), 0.2f));
        sequence.Append(DOTween.To(() => CritWord.color, (Color v) => CritWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
        sequence.Append(DOTween.To(() => CritWord.color, (Color v) => CritWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f));
        sequence.AppendCallback(() => { DestroyWord(); });
    }
    public void FloatFrostWord(float x, float y)
    {
        Vector3 pos = FrostWord.transform.position;
        pos.x = x;
        pos.y = y;
        pos.z = 0;
        FrostWord.transform.position = pos;
        Sequence sequence = DOTween.Sequence();
        FrostWord.color = new Color(1f, 1f, 1f, 0.8f);
        sequence.Join(DOTween.To(() => FrostWord.transform.position, (Vector3 v) => FrostWord.transform.position = v,
            new Vector3(FrostWord.transform.position.x - 50, FrostWord.transform.position.y + 50, FrostWord.transform.position.z), 0.2f));
        sequence.Append(DOTween.To(() => FrostWord.color, (Color v) => FrostWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
        sequence.Append(DOTween.To(() => FrostWord.color, (Color v) => FrostWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(1f));
        sequence.AppendCallback(() => { DestroyWord(); });
    }
    public void FloatRestrainWord(float x, float y)
    {
        Vector3 pos = RestrainWord.transform.position;
        pos.x = x;
        pos.y = y;
        pos.z = 0;
        RestrainWord.transform.position = pos;
        Sequence sequence = DOTween.Sequence();
        RestrainWord.color = new Color(1f, 1f, 1f, 0.8f);
        sequence.Join(DOTween.To(() => RestrainWord.transform.position, (Vector3 v) => RestrainWord.transform.position = v,
            new Vector3(RestrainWord.transform.position.x - 50 + UnityEngine.Random.Range(-15, 15), RestrainWord.transform.position.y + 50 + UnityEngine.Random.Range(-15, 15), RestrainWord.transform.position.z), 0.2f));
        sequence.Append(DOTween.To(() => RestrainWord.color, (Color v) => RestrainWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
        sequence.Append(DOTween.To(() => RestrainWord.color, (Color v) => RestrainWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f));
        sequence.AppendCallback(() => { DestroyWord(); });
    }
    private void WordMove(Graphic graphic, bool crit = false)
    {
        //获得Text的rectTransform,和颜色,并设置颜色微透明