簡體   English   中英

Unity將內容動態添加到NGUI網格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM