IEnumerator Play(Vector2 localPosStart, Vector2 localPosDestination) { var strayPoint = localPosStart + Random.insideUnitCircle.normalized * Random.Range(10f, 30f); for (float t = 0; t < 1; t += 1.6f * Time.deltaTime)//1/1.6f的持续时间 { var f0 = Curve0.Evaluate(t); var f1 = Curve1.Evaluate(t); transform.localPosition = localPosStart + (strayPoint - localPosStart) * f0 + (localPosDestination - localPosStart) * f1; yield return(new WaitForEndOfFrame()); } GameData.MyEnergy += _energy; Destroy(gameObject); }