簡體   English   中英

統一的游戲對象計時器

[英]Gameobject​ timer in unity

我正在嘗試制作一個有游戲對象(假設是一個球)的統一游戲,並且在分配的時間(5 秒)之后游戲對象消失了,代碼中有任何線索嗎?

實現這一目標的最簡單方法是使用 Unity 的內置Destroy()方法。
您可以將對象和計時器(以秒為單位)作為參數傳遞。

Destroy(gameObject, 5); // destroys the gameObject after 5 seconds elapsed

好吧,您可以嘗試使用 Invoke 方法,它會在一段時間后調用您指定的方法。

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

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

如果你想重復調用某個方法,你可以使用 InvokeRepeating 這里是整個文檔:

調用文檔

調用重復文檔

您可以為計時器使用協程。 這比其他答案要復雜一些,但這是使用協程的好習慣。 例如:

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

如果此腳本附加到控制器或其他任何不是玩家的東西:

public GameObject player;

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

如果此腳本附加到播放器:

//Wherever the player is supposed to be destroyed
{
DestroyObject(this.gameObject, 5);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM