这是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);
}
}
但是盒子对撞机没有被破坏。
我该如何销毁它?
答案 0 :(得分:4)
现在使用代码
Destroy(hit3.collider);
答案 1 :(得分:1)
根据Destroy()上的文档“实际对象破坏始终延迟到当前Update循环之后,但总是在渲染之前完成。”
这可能是问题吗?如果在当前的Update函数中检查该对象可能尚未被销毁。否则Destroy()应该删除该GameObject的所有组件。