我正在尝试在您单击对象时消失。这个对象经常被实例化,问题是,如果我单击一个对象,它会摧毁所有物体。我的代码:
void Update()
{
rb.velocity = new Vector3 (speed, 0, 0);
if (Input.GetMouseButtonDown(0))
{
onItemClicked();
}
}
void onItemClicked()
{
//Check if click
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, 100.0f))
{
//Si ha dado a algo
if (hit.transform != null)
{
print(hit.transform.gameObject);
}
}
}
答案 0 :(得分:0)
我测试了代码并正常工作,我的意思是,请记住,当实例化一个对象时,它们将具有(除非您对其进行设置)相同的名称,因此,如显示gif所示,您将获得多个具有相同打印效果的打印件名称,但它们实际上是不同的对象。因此,如果您尝试:
...
if (hit.transform != null)
{
print(hit.transform.gameObject);
hit.transform.gameObject.SetActive(false);
}
...
您将看到只有一个对象将关闭