/// <summary>
/// 当前精灵move到某个ui位置pos,基本的协程用法
/// </summary>
private void MoveAction()
{
Vector3 pos = Camera.main.ScreenToWorldPoint(UIPOS);
StartCoroutine(DoFly(pos) as IEnumerator);
}
private IEnumerable DoFly(Vector3 pos)
{
Vector3 direction = (pos - transform.position).normalized;
while (Vector3.Distance(pos,transform.position)>0.1f)
{
yield return new WaitForSeconds(0.01f);
transform.Translate(direction);
}
}
如果发现飞过去位置不对或者是超出屏幕,可以调整0.1f和时间间隔