using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using System; namespace DisComputer { /* * @func 螺丝刀动画控制 * * */ public class BoltDriver : MonoBehaviour { //螺丝位置点 public List lousiTrans; public Transform driver; private void Start() { driver.gameObject.SetActive(false); } public IEnumerator RotationLouSi() { driver.gameObject.SetActive(true); Tween driverT = driver.DOLocalRotate(new Vector3(360, 0, 0), 2.0f, RotateMode.FastBeyond360).SetLoops(-1).SetEase(Ease.Linear); driverT.Pause(); Sequence sequence = DOTween.Sequence(); bool isFinish = true; sequence.Append( driver.DOLocalMove(lousiTrans[0].localPosition, 0.55f).SetEase(Ease.Linear). OnComplete(() => { driverT.Play(); })).Append( driver.DOLocalMoveX(driver.localPosition.x + .3f, 0.5f).SetEase(Ease.Linear).SetDelay(1.0f) ) .Append( driver.DOLocalMove(lousiTrans[1].localPosition, 0.5f).SetEase(Ease.Linear) ).Append( driver.DOLocalMoveX(driver.localPosition.x + 0.3f, 0.5f).SetEase(Ease.Linear).SetDelay(1.0f) ).OnComplete(()=> { driverT.Pause(); driver.gameObject.SetActive(false); isFinish = false; }); while (isFinish) { yield return new WaitForEndOfFrame(); } } } }