【发布时间】:2015-08-01 21:30:09
【问题描述】:
我正在学习 Unity 的 Space Shooter 课程,并且我已经达到了小行星向我袭来并且我可以摧毁它们的地步。
当小行星检测到触发碰撞时,它会触发“showExplosion”方法。问题是,在我们销毁游戏对象并实例化爆炸后,爆炸仍然是一个对象。
这显然是一种不好的做法。
我需要做的(我认为)是等待该动画完成然后销毁该对象。
现在我假设有一个我可以监听的事件...知道这也很高兴..
但是我怎么简单地说等待X秒然后销毁爆炸对象。
【问题讨论】:
-
void OnTriggerEnter(Collider other) { if (other.tag == "Boundry" || other.tag == "Player") { return; } Destroy (other.gameObject); Destroy (gameObject); GameObject exp = Instantiate (explosion, transform.position, transform.rotation) as GameObject; StartCoroutine (DestroyObjectAfterSeconds(exp,1)); } IEnumerator DestroyObjectAfterSeconds(Object objectToDestroy, float waitTime) { yield return new WaitForSeconds (waitTime); Destroy (objectToDestroy); } -
以上不行
-
这对我有用,检查你是否会犯任何其他错误。