项目场景:
运用dotween实现机械循环运动
实现方式:
using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveAni : MonoBehaviour
{
private Transform Up;
private List<Transform> Legs = new List<Transform>();
private Transform Down;
private void Awake()
{
Up = transform.Find("UP");
Down = transform.Find("DOWN");
for (int i = 0; i < transform.childCount; i++)
{
if (transform.GetChild(i).name.Contains("ZG"))
{
Legs.Add(transform.GetChild(i));
}
}
}
void Start()
{
//Tween tween = Test.DOMoveX(20,2f);
//tween.SetLoops(-1, LoopType.Yoyo);
Sequence body = DOTween.Sequence();
body.Append(Up.DOLocalMove(new Vector3(Up.transform.localPosition.x + 0.08f, Up.transform.localPosition.y + 0.04f, 0), 0.08f));
for (int i = 0; i < Legs.Count; i++)
{
body.Insert(0, Legs[i].DOLocalRotate(new Vector3(0, 0, -10), 0.08f));
}
body.Insert(0, Down.DOLocalMove(new Vector3(Down.transform.localPosition.x -0.02f, Down.transform.localPosition.y - 0.02f, 0), 0.08f));
body.SetLoops(-1, LoopType.Yoyo);
}
}