Prefabs(预设)是最常用的一种资源类型,是一种可被重复使用的游戏对象。
1、特点:
1、它可以被置入多个场景中,也可以在一个场景中多次置入。
2、当在一个场景中增加一个prefabs,即可实例化该prefabs。
3、所有的prefabs实例都是prefabs的克隆,所以如果是在运行中生成对象都会有Clone的标记
4、只要prefabs原型发生改变,所有的prefabs实例都会产生变化。
2、prefabs的加载方法
方法1:在Awake()中加载血条的prefab,并存储此对象的引用
void Awake()
{
prefabBloodBarUI = Resources.Load(UIPrefabPath.CONTROL_BLOOD_BAR) as GameObject;
}
2、实例化对象
foreach(ObjFightRole objFightRole in fightRoleList)
{
GameObject objPrefab = NGUITools.AddChild(uiGameObject, prefabBloodBarUI);
BloodBar bloodBar = objPrefab.GetComponent();
bloodBar.objFightRole = objFightRole;
objPrefab.name = objFightRole.title;
}
当NGUITools.AddChild(parent,prefab)会将传入的prefab创建一个实例后,设置为parent的孩子。