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这个动画将以一个复制的动画状态立即开始播放。
动画播放完成后它将自动清除它自己。在它播放完成后使用赋值的动画将导致一个异常。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public Animation anim;
void Start() {
anim = GetComponent<Animation>();
}
void Update() {
if (Input.GetButtonDown("Fire1"))
anim.CrossFadeQueued("shoot", 0.3F, QueueMode.PlayNow);
}
}
?