动态添加,基本思想是:
1、先把要添加的元素在编辑器中编辑好,制作成一个prefab。
2、在代码中,动态的生成一个新的对象加入到Grid对象的子对象中。这里利用到了Resources对象,这个对象的用法可以参照官网,就是在Assets目录下有一个Resources目录,位置随便,只要是在Assets目录下就行。
3、加入对象之后,可以从这些对象中获取子对象进行属性的修改,比如添加了十个武器,那么十个武器的Icon,名字和价格都不一样。
下面代码代码中:
代码如下:
var GameObject ngui_grid = GameObject.Find ("UIGrid");
UIGrid ngui_ui_grid = ngui_grid.GetComponent<UIGrid>();
GameObject _gridItem = NGUITools.AddChild(ngui_grid, (GameObject)(Resources.Load("GridItemPrefab")));
// 生成的对象重新命名
_gridItem.name = "gridItem" + indexSlot;