Gameobject计时器统一

时间:2017-05-29 22:35:33

标签: c# unityscript unity2d

我正试图在有游戏对象(让我们说一个球)的地方制作一个统一游戏,并且经过一段时间(5秒)游戏对象消失后,代码上的任何线索?

3 个答案:

答案 0 :(得分:0)

好吧,您可以尝试使用Invoke方法,该方法会在一段时间后调用您指定的方法。

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

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

如果要重复调用某个方法,可以使用InvokeRepeating 这是整个文档:

Invoke docs

InvokeRepeating docs

答案 1 :(得分:0)

最简单的方法是通过传递对象和计时器来使用Destroy()方法。例如:

Destroy(gameObject, 5);

答案 2 :(得分:0)

您可以使用协程定时器。这比其他答案复杂一点,但使用协同程序是一种很好的做法。例如:

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);
}