上期工程实现了通过id来构建技能的信息功能,本期开始构建角色技能的列表。
需求:
选择角色后,点击觉得技能栏,可以弹出角色的所有技能。
分析:
首先需要取得角色的所有技能,然后通过NGUITools.AddChild()来添加,最后通过Grid来管理排序,就可以了。
如何获取:建立数组,存储技能的id组,通过foreach来进行批量添加;
如何添加:父类是grid.gameObject,子类是skillItem,在添加之前需求将skillItem通过其SetId来设置其中的信息;
如何排序:在grid中使用grid.AddChlid()来实现管理。
根据上述分析,则编写代码如下:
Class SkillUI
{
public int[] sowrdskillidList;
public int[] magicianskillList;
private PlayerStatus playerstatus;
public gameObject skillItemPrefab;
public Grid grid;
void Start( )
{
int[] list = null;
playerstaus = GameObject.FindGameObjectWithTag(Tags.player).GetCompnent<PlayerStatus>( );
switch(playerstatus.heroType)
{
case HeroType.Magicina:
list = magicianskillList;
break;
case HeroType.Swordman:
list = swordmanskillList;
break;
}
foreach(int id in list)
{
GameObject goItem = NGUITools.AddChild(grid.gameObject,skillItemPrefab);
grid.AddChild(goitem.transform);
goItem.GetCompnent<SkillItem>().SetId(id);
}
}
}
这样实现了在游戏开始显示技能列表的功能。