我正在构建基于vuforia的增强现实应用程序。我需要在脚本的某些部分添加睡眠,但是我无法实现。
答案 0 :(得分:2)
在没有看到您的代码/实际问题的情况下,很难给出比通用的答案还要深的答案:
每当您想要Unity中的某种等待功能时,都应使用Coroutines,例如WaitForSeconds,WaitUntil,WaitWhile等。
private IEnumerator DoSomething()
{
// doing something
// waits 5 seconds
yield return new WaitForSeconds(5);
// do something else
}
您可以使用
从其他方法(在MonoBehaviour脚本内部)开始StartCoroutine(DoSomething());
当然,也可以简单地在MonoBehaviours的Update
方法中等待,例如像
private float timer;
private bool activateSleep;
private void Update()
{
if(activateSleep)
{
timer += Time.deltaTime;
if(timer <= 0)
{
activateSleep = false;
}
else
{
// return so the rest of Update is not done
return;
}
}
// Otherwise do what you would usually do
}
public void ActivateSleep(float forSeconds)
{
timer = forSeconds;
activateSleep = true;
}
但是您已经看到了如何“美丽”……