NGUI 的grid提高显示性能

  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显示的时候很卡,可以使用协程一项项添加,并且添加一项就刷新一次。


你可能感兴趣的:(NGUI 的grid提高显示性能)