有人能解释一下WaitForSeconds()吗

本文关键字:一下 WaitForSeconds 能解释 | 更新日期: 2023-09-27 18:01:04

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

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

我也知道我需要把StartCoroutine(Example());之类的东西放在某个地方,但我也不知道该放在哪里。我该如何正确地做到这一点?

有人能解释一下WaitForSeconds()吗

必须在协程函数中使用

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;。如果你想了解它的工作原理,请访问这里。