2017-05-29 8 views

答えて

0

まあ、あなたはしばらくしてから指定したメソッドを呼び出すInvokeメソッドを使うことができます。

void Start() 
{ 
    Invoke("DestroyMyObject", 5); 
} 

void DestroyMyObject() 
{ 
    this.Destroy(this.gameObject); 
} 

あなたは繰り返し、いくつかのメソッドを呼び出したい場合は、ここでInvokeRepeating を使用することができ、全体のドキュメントです:

Invoke docs

InvokeRepeating docs

+0

:このスクリプトは、プレーヤーに接続されている場合

public GameObject player; //Wherever the player is supposed to be destroyed { DestroyObject(player, 5); } 

さて、2秒おきにボールのクローンが5からカウントダウンされるクローンに新しい時間で出現するようにしたいとしましょう。どうすればいいですか? –

+0

ただ答えを編集しました。 2秒ごとにボールをクローンするメソッドを呼びたい場合は、InvokeRepeatingを使うことができます。 – Zolastro

+0

ありがとうございました! –

0

最も簡単な方法は、Destroy()メソッドを使用することですオブジェクトとタイマーを渡します。例:

Destroy(gameObject, 5); 
0

タイマにはコルーチンが使用できます。これは他の答えよりも少し複雑ですが、コルーチンを使うのは良い方法です。たとえば、次のように

IEnumerator DestroyObject(GameObject object, int time) { 
yield return new WaitForSeconds(time); 
Destroy(object); 
} 

このスクリプトは選手ではありませんコントローラまたは何か他のものに接続されている場合:

//Wherever the player is supposed to be destroyed 
{ 
DestroyObject(this.gameObject, 5); 
} 
関連する問題