我一直致力于允许用户通过点击指定区域来创建目标的游戏。我试图实现它,以便在游戏将存储用户创建的所有目标的信息时,一次只能显示最多9个目标(一系列'页面'如果你会)。
问题是我遇到了问题'清理'该地区。 我试图通过将其比例更改为0/0/0
来清除目标if(newPage)
{
print("Making New Page...");
//"Clear" the screen of Targets
foreach(GameObject obj in targets)
{
obj.gameObject.transform.localScale = new Vector3(0.0f , 0.0f, 0.0f);
//print(obj);
}
newPage = false;
totalPages++;
currentPage++;
}
一些有用的东西:
targets是列表的名称
newPage是一个布尔值,用于指示何时运行此代码
totalPages和currentPages用于稍后重新激活目标
这两个印刷语句都是功能性的,但没有一个目标实际上消失了。我不确定为什么它不起作用。
答案 0 :(得分:1)
使用GameOjbect.SetActive()函数停用它可能更容易,而不是缩小对象:
if(newPage)
{
print("Making New Page...");
//"Clear" the screen of Targets
foreach(GameObject obj in targets)
{
obj.SetActive(false);
//print(obj);
}
newPage = false;
totalPages++;
currentPage++;
}
如果您希望对象在场景中处于活动状态,但只是不可见,则另一个选项是禁用MeshRenderer组件:
obj.GetComponent<MeshRenderer>().enabled = false;