如何使用统一按钮删除所选对象

时间:2015-06-30 04:09:46

标签: c# button unity3d

我有两个对象和一个按钮。首先,我必须选择一个对象,如果单击该按钮,则必须销毁所选对象。

我怎样才能摧毁这个物体?

编码以获取选择的对象名称:

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);
            }               
        }  
    } 
}

2 个答案:

答案 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类

http://docs.unity3d.com/ScriptReference/Object.Destroy.html