1.简单记录一下,不喜勿喷
直接上代码,代码不多,好几个动画放一起,一起播放
using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using UnityEngine.UI; public class Systean_BtnAni : MonoBehaviour { public Transform[] tuian; private Vector3 H_2_pointx; public Button btn; public Sprite hig_sprite,nhig_sprite; public Sequence se; private Vector3 H_3_yidong; // Start is called before the first frame update void Start() { H_2_pointx = tuian[5].localPosition; H_3_yidong = new Vector3 (-878.2f,271.6f,0); btn.onClick.AddListener(delegate { TweenCallback completeCallBack = SanJiao_XiaoShi; TweenCallback completeCallBack1 = Xianchu; TweenCallback completeCallBack2 = Dianchu; //动画的队列 se = DOTween.Sequence(); //创建的动画 Tween tween = tuian[1].DOScale(0, 0.2f); Tween tween1 = tuian[5].GetComponent<RectTransform>().DOLocalMove(H_3_yidong, 1f); Tween tween2 = tuian[4].DOScale(0.6f, 0.3f).SetLoops(2, LoopType.Yoyo); Tween tween3 = tuian[6].GetComponent<Image>().DOFillAmount(1, 0.3f); Tween tween4 = tuian[7].DOScale(1.5f, 0.5f).SetLoops(2, LoopType.Yoyo); //把动画添加到队列里面 se.Append(tween); //插入动画 se.AppendCallback(completeCallBack); se.Append(tween1); se.Append(tween2); //插入动画 se.AppendCallback(completeCallBack1); se.Append(tween3); //插入动画 se.AppendCallback(completeCallBack2); se.Append(tween4); //播放队列里面的动画 按顺序播放 se.Play(); btn.GetComponent<Image>().sprite = hig_sprite; }); } void SanJiao_XiaoShi() { tuian[5].gameObject.SetActive(true); tuian[4].gameObject.SetActive(true); tuian[0].gameObject.SetActive(false); } void Xianchu() { tuian[6].gameObject.SetActive(true); } void Dianchu() { tuian[7].gameObject.SetActive(true); } public void NoDisAble_() { //动画停止 se.Kill(); btn.GetComponent<Image>().sprite = nhig_sprite; tuian[1].localScale = new Vector3(1, 1, 1); tuian[5].localPosition = H_2_pointx; for (int i = 0; i < tuian.Length ; i++) { if (i<=3) { tuian[i].gameObject.SetActive(true); } else { tuian[i].gameObject.SetActive(false); } } } }