当游戏物体与主角发生碰撞时,如何摧毁整个预制件



我想做的是让我的怪物在我的主字符与它碰撞时消失。所以,我把这个脚本附加到了我的怪物身上,但我无法让它工作。我成功地摧毁了怪物的刚体组件,但我似乎无法摧毁整个东西。

using UnityEngine;
using System.Collections;
public class Dying: MonoBehaviour {
private Rigidbody rbody;
public GameObject prefab;

void Start () {
    rbody = GetComponent<Rigidbody>();
GameObject obj = Instantiate(prefab);
}

void Update () {

} 
void OnCollisionEnter(Collision col)
{ 
    print(col.collider.name);
    if(col.collider.name =="unitychan")
    {
         Destroy(prefab.gameObject);
    }
 }
}

问题可能是您试图销毁运行脚本的对象或其他随机对象。您通常从不销毁运行脚本的对象。此外,col包含与碰撞的对象。所以你可以这样做:

void OnCollisionEnter(Collision col)
{
    if (!col.collider.name == "unitychan") return;
    Destroy(col.gameObject);
}

最新更新