[英]Unity add content dynamicly to NGUI grid
我正在使用Unity 5.5.2f和NGUI 3.9.4,並且我想利用NGUI的網格來自動安排項目的顯示效果。
問題是,當我手動在層次結構中添加項目時,一切都會很好,但是當我通過腳本添加項目時,Grid不會安排我的項目。
void Start () {
List<Level> levels = ApplicationModel.Levels;
GameObject currentWrap = null;
Debug.LogWarning(levels.Count);
for (int i = 0; i < levels.Count; i++)
{
if(i%4 == 0){
currentWrap = Instantiate(levelWrap,transform,false);
}
if (levels[i].IsLock){
GameObject go = Instantiate(levelLocked, currentWrap.transform, false);
go.transform.localPosition = new Vector3(levelXstart + (i % 4) * levelXOffset, 0, 0);
go.transform.GetComponentInChildren<UILabel>().text = i.ToString();
}
else
{
GameObject go = Instantiate(levelActive, currentWrap.transform, false);
go.transform.localPosition = new Vector3(levelXstart + (i % 4) * levelXOffset, 0, 0);
go.transform.GetComponentInChildren<UILabel>().text = i.ToString();
for (int j = 0; j < levels[i].StarGet;j++){
go.transform.Find("fills").GetChild(j).gameObject.SetActive(true);
}
}
}
}
好的,我找到了竅門,在實例化包裝項目之后,我應該將AddChild()
到網格系統。
if(i%4 == 0)
{
currentWrap = Instantiate(levelWrap,transform,false);
GetComponent<UIGrid>().AddChild(currentWrap.transform);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.