2016-08-06 4 views
0

何かをする前に私のコードがx秒待つようにしています。私はこれを行う方法を見て、WaitForSeconds()関数について知っていた。残念ながら、私はそれを使用しようとすると、私は自分のコードで赤い下線を取得します。私はあなたが死ぬときあなたが復活する前に、それはそれは、数秒待って作るしようとしています:誰かがWaitForSeconds()について説明できますか?

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

私も、私はどこかStartCoroutine(Example());のようなものを配置する必要がありますが、私もそれをどこに置くか知りません理解しています。どのようにこれを正しく行うのですか?

答えて

1

yield return new WaitForSeconds(5);をコルーチン関数で使用する必要があります。今、あなたはvoidファンクションvoid Respawn()でそれを使用しています。 voidIEnumeratorに変更すると、問題が解決するはずです。

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

StartCoroutine(Respawn());で呼び出すことができます。あなたがそれを呼び出すたびに、それは5秒を待ってからgameObject.transform.position = spawnPoint;を実行します。どのように動作するかを知りたい場合はhereにアクセスしてください。

+0

これは、何もしないことを止めるようですね。 – Klink45

+1

**何を**何もしないことを止める**を追加する? – Programmer

+0

私の関数をコルーチン関数に変更すると、関数は何もしません。 – Klink45

関連する問題