我有两个对象和一个按钮。首先,我必须选择一个对象,如果单击该按钮,则必须销毁所选对象。
我怎样才能摧毁这个物体?
编码以获取选择的对象名称:
public class ClickAction : MonoBehaviour {
public string on = null;
public Destroyer destroy;
void Update() {
if (Input.GetMouseButtonDown (0)) {
Ray toMouse = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit rhInfo;
bool didHit = Physics.Raycast(toMouse, out rhInfo, 500.0f);
if (didHit) {
Debug.Log(rhInfo.collider.name);
}
}
}
}
答案 0 :(得分:1)
使用Destroy
方法销毁您的对象。
Destroy(rhInfo.collider.gameObject);
在您的代码中:
///use `Destroy` in your code
public class ClickAction : MonoBehaviour {
public string on = null;
public Destroyer destroy;
void Update() {
if (Input.GetMouseButtonDown (0)) {
Ray toMouse = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit rhInfo;
bool didHit = Physics.Raycast(toMouse, out rhInfo, 500.0f);
if (didHit) {
Destroy(rhInfo.collider.gameObject);
}
}
}
}
答案 1 :(得分:0)
一个有趣的观点是javascript用户无法偶然发现这个帖子:
Destroy继承自UnityEngine.Object基类。 Javascript用户应该考虑拨打电话 UnityEngine.Object.Destroy,而不是Object.Destroy来避免 引用被解析为.Net System.Object类