Version: 2021.2
public AnimationState PlayQueued (string animation, QueueMode queue= QueueMode.CompleteOthers, PlayMode mode= PlayMode.StopSameLayer);

描述

在先前的动画播放完毕后再播放动画。

例如,您可能会按指定的序列一个接一个地播放动画。

该动画状态在播放前会自我复制,因此您可以在相同动画之间淡入淡出。 这可用于覆盖两个相同动画。例如,您可能有一个挥剑的动画。 玩家在将剑挥来挥去后快速猛砍两下。 您可以将该动画倒回,从头开始播放,但之后您会看到动画有跳帧现象。

以下队列模式可用:\ 如果 queueQueueMode.CompleteOthers,则仅在其他所有动画均已停止播放后,该动画才会开始。\ 如果 queueQueueMode.PlayNow,则该动画将在复制动画状态下立即开始播放。

动画播放完毕后,将自动执行自我清理。在该动画播放完成后使用复制动画状态将导致异常。

using UnityEngine;

public class Example : MonoBehaviour { void Start() { Animation anim = GetComponent<Animation>();

//Queues each of these animations to be played one after the other anim.PlayQueued("CubeBob", QueueMode.CompleteOthers); anim.PlayQueued("CubeFlip", QueueMode.CompleteOthers); anim.PlayQueued("CubeShuffle", QueueMode.CompleteOthers); } }