我有一个玩家,这是一个立方体,我希望它能够跳过#34;到选定的空对象位置。
我设法将播放器从vector3.MoveTowards()
的原始位置移开,但同时我想播放动画,显示立方体如何跳转到空对象位置。
这里的问题是空对象位置会发生变化,因此从立方体到空对象的距离会有所不同。我相信我需要改变动画完成所需的时间,因此它会暂停,之后让立方体直线移动。
我希望动画可以花更长或更短的时间来运行,因为空对象的位置总是会改变......
答案 0 :(得分:0)
在这种情况下,您可以使用StartCoroutine。
IEnumerator animated() {
// Code here
yield return new WaitUntil (() => stopanimated == true);
// Run the code here
}
或者你可以
IEnumerator animated() {
// Code here
yield return new WaitForSeconds (1); // How much second to wait before execute the next line code.
// Run code here
}
如何调用它:
StartCoroutine(Animated());
详细文档中的协程:
https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html
此StartCoroutine用于在执行代码之前将代码暂停一段时间。
和
更改动画速度:
看这篇文章: http://answers.unity3d.com/questions/950205/how-to-change-speed-of-animation-in-c.html