【发布时间】:2015-01-25 08:03:51
【问题描述】:
这是我的代码
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 精灵,我关闭了它的精灵渲染器并打开了它的子精灵渲染器。
但是,一旦完成,我需要一种方法来销毁游戏对象。我真的不知道如何实现这一目标。
【问题讨论】:
-
如果你的gameobject实现了IDisposable接口,使用Dispose方法
-
您是否只想销毁父游戏对象而不销毁其子对象?在这种情况下,如果您像这样将 GO 渲染器设置为 false,
hit.collider.gameObject.renderer.enabled = false;必须有效。