Item.transform.SetParent(RootBetItemParent, false);的含义
时间: 2024-04-23 21:22:05 浏览: 91
这行代码的含义是将 Item 对象的父节点设置为 RootBetItemParent,同时不改变 Item 相对于父节点的位置和大小。具体来说,SetParent 方法的第一个参数是新的父节点,第二个参数表示是否保持 Item 相对于新父节点的位置和大小不变。在这里,第二个参数为 false,所以 Item 会被完全重置到新的父节点的原点位置,并且其相对大小也不会改变。
相关问题
public void OnEnable() { for (int i = 0; i < panel.transform.childCount; i++) { Destroy(panel.transform.GetChild(i).gameObject); } for (int i = 0; i < showPanel.transform.childCount; i++) { Destroy(showPanel.transform.GetChild(i).gameObject); } for (int i = 0; i < 18; i++) { GameObject beforeArror = Instantiate(beforeArrorPrefab); beforeArror.transform.SetParent(panel.transform, false); beforeArror.name = "Arror" + i.ToString(); } for (flag = 0; flag < ArrorManage.jiaNumber; flag++) { Transform jiaParent = panel.transform.Find("Arror" + flag.ToString()); GameObject jiaImage = Instantiate(jiaPrefab); jiaImage.transform.SetParent(jiaParent, false); jiaImage.transform.localPosition = Vector2.zero; jiaImage.name = "jia"; } for (int i = 0; i < ArrorManage.dunNumber; i++) { Transform dunParent = panel.transform.Find("Arror" + flag.ToString()); GameObject dunImage = Instantiate(dunPrefab); dunImage.transform.SetParent(dunParent, false); dunImage.transform.localPosition = Vector2.zero; dunImage.name = "dun"; flag++; } }为什么第二次激活后第四五个循环没作用
根据代码,第四个循环是向panel中添加18个箭头,第五个循环是向panel中添加jiaNumber个加号,第六个循环是向panel中添加dunNumber个盾牌。如果第二次激活后第四五个循环没有作用,那么可能是因为panel中已经存在了这些对象,导致添加不上去。你可以在循环前先检查一下panel中是否已经存在这些对象,如果存在就跳过添加的操作。另外,如果你想要在第二次激活后重新添加这些对象,可以在OnDisable()方法中将panel和showPanel中的所有子对象销毁,这样在下一次激活时就能重新添加了。
ToNotSwitch按钮.transform.SetParent(gameObject.transform, false); 改成在当前物体下的叫做Switch按钮子集下,并且回到当前子集最下一层。
可以使用以下代码将ToNotSwitch按钮移动到当前物体下的Switch按钮子集,并放置在该子集的最下层:
```
ToNotSwitch按钮.transform.SetParent(transform.Find("Switch按钮"), false);
ToNotSwitch按钮.transform.SetAsLastSibling();
```
其中,`transform.Find("Switch按钮")`可以根据Switch按钮子集的名称进行修改,确保能够正确找到该子集。`transform.SetAsLastSibling()`则将ToNotSwitch按钮放置在该子集的最下层。
阅读全文