NGUI 的grid提高显示性能

来源:互联网 发布:网络出现问号 编辑:程序博客网 时间:2024/06/05 19:30

  for (int i = 0; i < list.Count; i++)            {                ST_BackPackItem item = list[i];                GameObject _go = NGUITools.AddChild(m_grid.gameObject, m_ItemPrefab.gameObject);                N_CBackpackItem backitem = _go.GetComponent<N_CBackpackItem>();                backitem.player_bag_index = item.player_bag_index;                backitem.setData(item, i);                UIEventListener.Get(backitem.btn.gameObject).onClick = null;                UIEventListener.Get(backitem.btn.gameObject).onClick += onClickitem;                UIEventListener.Get(backitem.btn.gameObject).onPress = null;                UIEventListener.Get(backitem.btn.gameObject).onPress += backitem.OnPress;                m_ItemList.Add(backitem);                item_toggles.Add(i, backitem.toggle);                yield return null;                m_grid.repositionNow = true;                if (currItemIndex == i)                {                    initItem(m_ItemList[i].btn.gameObject);                }                else if ((currItemIndex > list.Count - 1) && (i == list.Count - 1))                {                    initItem(m_ItemList[i].btn.gameObject);                }            }

如果grid一次加载过多的项,就会使得grid显示的时候很卡,可以使用协程一项项添加,并且添加一项就刷新一次。


0 0