UGUI元素的动画

GameObject go;

Animation anim = go.AddComponent();

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));   最终位置。

 

你可能感兴趣的:(unity3d)