Oph*_*lia 3 c# unity-game-engine
我现在有点坚持我的剧本。当一个带有我的脚本的游戏对象具有特定游戏对象的触发事件时,我想在一段时间后销毁特定的游戏对象。
所以我来到了这个:
void OnTriggerEnter ( Collider other) {
if (other.gameObject.tag == "leaf1"){
StartCoroutine (LeafDestruction ());
}
}
IEnumerator LeafDestruction(){
yield return new WaitForSeconds (5);
Destroy (gameObject);
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个菜鸟错误,但我想我错过了一些东西,因为当我运行这个脚本时,它会破坏带有脚本的游戏对象,而不是特定的游戏对象(带有标签)。
我该如何解决?
更简单的解决方案是使用Destroy方法的可选第二个参数:
该对象
obj在当前后立即销毁Update环,或t如果指定从现在秒的时间。
给出官方参数:
| 参数 | |
|---|---|
obj |
要销毁的对象。 |
t |
在销毁对象之前延迟的可选时间量。 |
您可以将if语句调整为:
if (other.gameObject.tag == "leaf1")
Destroy(other.gameObject, 5.0f);
Run Code Online (Sandbox Code Playgroud)