有人可以解释 WaitForSeconds() 吗?

Can somebody please explain WaitForSeconds()?

我试图让我的代码在执行某些操作之前等待 x 秒。我查阅了如何执行此操作,并找到了 WaitForSeconds() 函数。不幸的是,每当我尝试使用它时,我的代码中都会出现红色下划线。我正在努力让它在你死后等待几秒钟再重生:

 void Respawn()
{
    yield return new WaitForSeconds(5);
    gameObject.transform.position = spawnPoint;
}

我也知道我需要在某处放置类似 StartCoroutine(Example()); 的东西,但我也不知道该把它放在哪里。我该如何正确执行此操作?

yield return new WaitForSeconds(5); 必须在协程函数中使用。现在,您正在 void 函数 void Respawn() 中使用它。将 void 更改为 IEnumerator 应该可以解决您的问题。

IEnumerator Respawn()
{
    yield return new WaitForSeconds(5);
    gameObject.transform.position = spawnPoint;
}

然后就可以用StartCoroutine(Respawn());调用了。每次调用它,它都会等待 5 秒,然后执行 gameObject.transform.position = spawnPoint;。如果您想了解其工作原理,请访问 here