Unity3D中Prefab的使用
2015-02-27 19:12
232 查看
转载自:http://blog.sina.com.cn/s/blog_62df69790101ggnt.html
在Unity3D的工程建设中,Prefabs(预设)是最非常用的一种资源类型,是一种可被重复使用的游戏对象。
特点1:它可以被置入多个场景中,也可以在一个场景中多次置入。
特点2:当你在一个场景中增加一个Prefabs,你就实例化了一个Prefabs。
特点3:所有Prefabs实例都是Prefab的克隆,所以如果实在运行中生成对象会有(Clone)的标记。
特点4:只要Prefabs原型发生改变,所有的Prefabs实例都会产生变化。
例如,游戏中有5个人,每人需要显示自己的血条。假设血条属于NGUI中UI的一部分。
1 在 Awake() 中加载血条的 prefab,并缓存此对象的引用
private GameObject prefabBloodBarUI = null;
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 的孩子
在Unity3D的工程建设中,Prefabs(预设)是最非常用的一种资源类型,是一种可被重复使用的游戏对象。
特点1:它可以被置入多个场景中,也可以在一个场景中多次置入。
特点2:当你在一个场景中增加一个Prefabs,你就实例化了一个Prefabs。
特点3:所有Prefabs实例都是Prefab的克隆,所以如果实在运行中生成对象会有(Clone)的标记。
特点4:只要Prefabs原型发生改变,所有的Prefabs实例都会产生变化。
例如,游戏中有5个人,每人需要显示自己的血条。假设血条属于NGUI中UI的一部分。
1 在 Awake() 中加载血条的 prefab,并缓存此对象的引用
private GameObject prefabBloodBarUI = null;
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 的孩子
相关文章推荐
- Unity3D中的预制件(Prefab)的创建和使用说明!!!
- Unity3D中的预制件(Prefab)的创建和使用说明!!!
- [Unity3D]预设Prefab与实例Instantiate的基本使用
- unity3d里面prefab、assetbundle、unitypackage等包的使用
- Unity3D中的Prefab使用方法
- Unity(五) Unity3D使用Assetbundle打包加载(Prefab、场景)转载原博客
- 一、创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新。
- [Unity3D]预设Prefab与实例Instantiate的基本使用
- Unity3d十 Unity3D中的预制件(Prefab)的创建和使用说明
- Unity3d使用过程中常见的20个问题
- unity3D的occlusion culling的简单使用
- 使用 MonoDevelop 调试 Unity3D 的正确步骤
- 在Unity3D中动态创建对象和创建Prefab原型对象的三种方式
- Unity3D Android游戏添加google广告的方法——使用AdMob
- Unity3D里面的Glow Effect的使用技巧
- unity3D中使用协程来做“多次调用一次更新”特性的一个大坑。
- Unity3d Time的使用
- unity3d 使用sqlite数据库
- Unity3d使用蓝牙(bluetooth)开发IOS点对点网络游戏
- unity3d内建灯光烘焙系统使用实例教程