GameObject go;
Animation anim = go.AddComponent<Animation>();
AnimationClip clip = new AnimationClip();
AnimationCurve curve = AnimationCurve.Linear(0.0f,initY,time, 700.0f);
clip.legacy = true;
clip.wrapMode = WrapMode.Once;
clip.SetCurve("", typeof(RectTransform), "m_AnchoredPosition.y", curve);
AnimationEvent aEvent1 = new AnimationEvent();
aEvent1.time = wait;
aEvent1.functionName = "OnRun";
clip.AddEvent(aEvent1);
AnimationEvent aEvent2 = new AnimationEvent();
aEvent2.time = clip.length;
aEvent2.functionName = "OnComplete";
clip.AddEvent(aEvent2);
anim.AddClip(clip, "ballrun");
anim.Play("ballrun");
OnRun和OnComplete的脚本必须添加在go的对象上。AnimationCurve有多种方式创建如。
AnimationClip clip = new AnimationClip();
curve.AddKey(new Keyframe(0.0f,initY)); //初始状态
curve.AddKey(new Keyframe(wait,initY)); //暂停
curve.AddKey(new Keyframe(wait+15.0f,700.0f)); 最终位置。