使用 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 循环。
我是 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 循环。