我想要做的是让我的怪物在我的主角与它碰撞时消失。所以,我把这个脚本附加到我的怪物身上,但我无法让它发挥作用。我成功地摧毁了怪物的RigidBody组件,但我似乎无法破坏整个事物。
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);
}
}
}
答案 0 :(得分:2)
问题可能在于您试图销毁运行脚本的对象或其他随机对象。您通常永远不会销毁运行脚本的对象。此外,col包含与之冲突的对象。所以你可以这样做:
void OnCollisionEnter(Collision col)
{
if (!col.collider.name == "unitychan") return;
Destroy(col.gameObject);
}