using UnityEngine; using System.Collections; public class MoveTarget : MonoBehaviour { public GameObject _target1;//左侧目标位置 public GameObject _target2;//右侧目标位置 bool _check = true; bool _check2 = true; void Start() { StartCoroutine(IE_MoveToLeft()); } IEnumerator IE_MoveToLeft() { while (_check) { transform.localPosition=Vector2.MoveTowards(transform.localPosition,_target1.transform.localPosition,Time.deltaTime*50f); // transform.Translate(Vector3.left, Space.Self); if (Mathf.Abs(_target1.transform.localPosition.x - transform.localPosition.x) < 0.2f) { _check = false; _check2 = true; StartCoroutine(IE_MoveToRight()); } yield return null; } } IEnumerator IE_MoveToRight() { while (_check2) { transform.localPosition = Vector2.MoveTowards(transform.localPosition, _target2.transform.localPosition, Time.deltaTime * 50f); // transform.Translate(Vector3.left, Space.Self); if (Mathf.Abs(_target2.transform.localPosition.x - transform.localPosition.x) < 0.2f) { _check2 = false; _check = true; StartCoroutine(IE_MoveToLeft()); } yield return null; } } }