5

这是我的Update函数代码。该对象有一个盒子碰撞器。

if (Input.GetMouseButtonDown(0)) { 
    Ray ray = camera.ScreenPointToRay(Input.mousePosition); 
    if (Physics.Raycast (ray, out hit3, 400.0F)) {
        wName = hit3.collider.gameObject.name;
        Destroy(hit3.collider.gameObject);
    }
}

但是盒子对撞机并没有被摧毁。

我怎样才能摧毁它?

4

2 回答 2

4

它现在使用代码

 Destroy(hit3.collider);
于 2013-02-15T11:59:58.127 回答
1

根据Destroy()上的文档, “实际的对象销毁总是延迟到当前更新循环之后,但总是在渲染之前完成。”

这可能是问题吗?如果您在当前的 Update 函数中检查该对象可能尚未被销毁。否则 Destroy() 应该删除该游戏对象的所有组件。

于 2013-02-15T11:59:09.677 回答