【发布时间】:2013-01-31 02:12:39
【问题描述】:
这是我在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);
}
}
但是盒子对撞机并没有被破坏。
我怎样才能销毁它?
【问题讨论】:
-
尝试禁用对撞机而不是破坏。你想得到什么效果?
-
只想摧毁对撞机
-
但是 wName 在这个脚本工作后有一些价值吗?
-
wName 是该游戏对象的名称。不要打扰它。只是我已经删除了它的对撞机。
-
我为什么要问。尝试 Debug.Log(wName) 并查看是否有值。您的代码是正确的,它应该可以正常工作。我认为你的光线投射不会像你期望的那样工作并且没有得到游戏对象。
标签: c# object scripting unity3d raycasting