在激活孩子几秒钟后销毁游戏对象

时间:2015-01-24 22:00:18

标签: c# unity3d

这是我的代码

void Update () 
{
    if (Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Began) 
    {
        if ( Physics.Raycast(ray, out hit, 1000f ) )
        {
            for(int i=0; i< hit.collider.transform.childCount; i++)
            {
                var child = hit.collider.transform.GetChild(i).gameObject;
                if(child != null)
                    child.SetActive(true);
            }
            hit.collider.gameObject.GetComponent<SpriteRenderer>().enabled = false;         

            //Debug.Log(hit.transform.gameObject.name);
        }
    }
}

此代码位于我场景中的相机上。它的作用是让我触摸游戏对象并摧毁。我触摸的第一个对象是2D精灵,我关掉它的精灵渲染器并打开它的子​​节点,精灵渲染器。

然而,一旦完成,我需要一种破坏游戏对象的方法。我真的不知道如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

Destroy (gameObject, 5);将在5秒内消灭。

你也可以在OnMouseDown()中使用并在更新中备用所有for循环和光线投射的东西

如果你想要OnMouseDown(),你当然需要对象预制件上的脚本,而不是相机。