public IEnumerator IEMoveTo2D(Vector2 from,Vector2 to, EndAniCallBackDelegate CallbackFunc = null, int frames = 30, Transform t = null) { tmpEndAniCallBack -= CallbackFunc; tmpEndAniCallBack += CallbackFunc; Vector2 dis = to - from; for (int i = 1; i <= frames; i++) { Vector2 newp = from + dis/(frames*1f)*(i*1f); t.position = new Vector3(newp.x , newp.y, t.position.z); yield return new WaitForFixedUpdate(); } if(tmpEndAniCallBack != null) { tmpEndAniCallBack(); tmpEndAniCallBack -= CallbackFunc; } }
public void AniMoveTo2D(Vector2 from, Vector2 to, EndAniCallBackDelegate CallbackFunc = null, int frames = 30, Transform t = null) { if(t == null) { t = this.transform; } if (CallbackFunc == null) { CallbackFunc =UnLockCamera; } StartCoroutine(IEMoveTo2D(from, to, CallbackFunc, frames, t)); }