• Animation.CrossFadeQueued

    Animation.CrossFadeQueued

    public AnimationState CrossFadeQueued(string animation, float fadeLength = 0.3F, QueueMode queue = QueueMode.CompleteOthers, PlayMode mode = PlayMode.StopSameLayer);

    描述 :

    在前一个动画播放完成之后淡入淡出下一个动画。

    例如你可以播放一个特定的动画序列。

    动画在播放前复制自身,因此你可以在相同的动画间渐变,这可用来重叠两个相同的动画。例如你可能有一个挥剑的动画,玩家快速挥动了2次,你可以回放这个动画并从开始播放它,但会跳帧。

    queue modes:

    如果queue为QueueMode.CompleteOthers这个动画只在所有其他动画都停止播放时才开始。如果queue为QueueMode.PlayNow这个动画将以一个复制的动画状态立即开始播放。

    动画播放完成后它将自动清除它自己。在它播放完成后使用赋值的动画将导致一个异常。

    1. using UnityEngine;
    2. using System.Collections;
    3. public class ExampleClass : MonoBehaviour {
    4. public Animation anim;
    5. void Start() {
    6. anim = GetComponent<Animation>();
    7. }
    8. void Update() {
    9. if (Input.GetButtonDown("Fire1"))
    10. anim.CrossFadeQueued("shoot", 0.3F, QueueMode.PlayNow);
    11. }
    12. }

    ?