使用 Unity 的动画工具制作简单的两步动画

Simple 2-step animation using Unity's Animation Tool

我是 Unity/coding 的新手,正在尝试创建一个简单的两步动画,我可以在其中调整每一步的延迟时间。我的游戏使用了两个动​​画:"Up" 和 "Down"。

我正在使用枚举器来播放动画,这是我目前所拥有的:

IEnumerator Go()
{
    while(true)
    {
        GetComponent<Animation>().Play ("Up");
        yield return new WaitForSeconds(delayTime);
        break;
        GetComponent<Animation>().Play ("Down");
        yield return new WaitForSeconds(delayTime);
        break;
    }
}

我知道我可以将整个动作作为一个动作进行动画处理,但我希望能够即时调整延迟时间。我的目标是连续为这两个动画。上升,然后下降。此刻我的电梯上升并停留在那里。我做错了什么?

感谢您的帮助!

删除中断子句:

IEnumerator Go()
{
    while(true)
    {
        GetComponent<Animation>().Play ("Up");
        yield return new WaitForSeconds(delayTime);
        GetComponent<Animation>().Play ("Down");
        yield return new WaitForSeconds(delayTime);
    }
}

现在应该循环播放这两个动画了。在原始代码中,break statements 导致执行跳出循环,因此,永远不会调用 "Down" 的 Play 并终止函数的执行。

如果你想让电梯只上升和下降一次,你需要删除 while 循环。