Prefabs实例化 ResourceMgr
http://www.xiaobao1993.com/886.html
来源与小宝个人笔记【稍作修改】
//使用 Prefabs/Resources/stone1
ResourceMgr.GetInstance().CreateGameObject ("stone1",image,true);
using UnityEngine;
using System.Collections; public class ResourceMgr : MonoBehaviour
{
#region 初始化
private static ResourceMgr mInstance; /// <summary>
/// 获取资源加载实例
/// </summary>
/// <returns></returns>
public static ResourceMgr GetInstance()
{
if(mInstance == null)
{
mInstance = new GameObject("_ResourceMgr").AddComponent<ResourceMgr>();
}
return mInstance;
}
private ResourceMgr()
{
Debug.LogError ("---------------");
hashtable = new Hashtable();
}
#endregion /// <summary> 资源缓存容器 </summary>
private Hashtable hashtable;
/// <summary>
/// Load 资源
/// </summary>
/// <typeparam name="T">资源类型</typeparam>
/// <param name="path">资源路径</param>
/// <param name="cacheAsset">是否要缓存资源</param>
/// <returns></returns>
public T Load<T>(string path, bool cache) where T : Object
{
if (hashtable.Contains(path))
{
return hashtable[path] as T;
} Debug.Log(string.Format("Load assset frome resource folder,path:{0},cache:{1}", path, cache));
T assetObj = Resources.Load<T>(path);
if (assetObj == null)
{
Debug.LogWarning("Resources中找不到资源:" + path);
}
if (cache)
{
hashtable.Add(path, assetObj);
Debug.Log("Asset对象被缓存,Resource'path=" + path);
}
return assetObj;
} /// <summary>
/// 创建Resource中GameObject对象
/// </summary>
/// <param name="path"资源路径</param>
/// <param name="cacheAsset">是否要缓存Asset对象</param>
/// <returns></returns>
public GameObject CreateGameObject(string path,GameObject parent, bool cache)
{
GameObject assetObj = Load<GameObject>(path, cache);
GameObject go = Instantiate(assetObj) as GameObject;
if (go != null && parent != null)
{
Transform t = go.transform;
t.parent = parent.transform;
t.localPosition = Vector3.zero;
t.localRotation = Quaternion.identity;
t.localScale = Vector3.one;
go.layer = parent.layer;
}
if (go == null)
{
Debug.LogWarning("从Resource创建对象失败:" + path);
}
return go;
} // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { }
}
Prefabs实例化 ResourceMgr的更多相关文章
- Unity3D热更新之LuaFramework篇[03]--prefab加载和Button事件
在上一篇文章 Unity3D热更新之LuaFramework篇[02]--用Lua创建自己的面板 中,我介绍了LuaFramework加载面板的方法,但这个方法并不适用于其它Prefab资源,在这套框 ...
- Unity Prefabs
通过上一期的学习,我们知道为了如何向场景中添加一个物体.问题来了,如果需要对这个立方体进行修改应该怎么做呢?那我们肯定就得修改这段代码,能不能将立方体本身从我们的开发中单独提出来呢?这就涉及到我们今天 ...
- Spring中Bean的实例化
Spring中Bean的实例化 在介绍Bean的三种实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式. 如果 ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- 对C#泛型实例化对像
public class A { } public class B<T> { public static T Get() { //在这一块如何实例化T这个对象呢?如果用default(T) ...
- spring实例化bean的三种方式
公共使用的实体
- 【EntityFramework Core】实体实例化注入
由于逻辑需要,我希望能在EF Core实例化实体时,拿到实体并执行相关代码,所以我就研究了一番EF Core,得到以下方法. 1.创建实体初始化类,继承EntityMaterializerSource ...
- Cesium原理篇:6 Render模块(6: Instance实例化)
最近研究Cesium的实例化,尽管该技术需要在WebGL2.0,也就是OpenGL ES3.0才支持.调试源码的时候眼前一亮,发现VAO和glDrawBuffers都不是WebGL1.0的标准函数,都 ...
- [译]Godot系列教程三 - 场景实例化(续)
场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...
随机推荐
- Python load json file with UTF-8 BOM header - Stack Overflow
Python load json file with UTF-8 BOM header - Stack Overflow 3 down vote Since json.load(stream) use ...
- JNI与JNA性能比较
JNI与JNA性能比较 在介绍JNA时,提到了JNA是基于JNI的,是在JNI上封装了一层,JNI性能不如JNA.最近在网上看到篇简单的比较这两者性能的文档,感觉不错,现转载一下: 分别用JNI和JN ...
- Spring的AOP1
引用:http://my.oschina.net/huangyong/blog/161338 是一个周末,刚给宝宝喂完牛奶,终于让她睡着了.所以现在我才能腾出手来,坐在电脑面前给大家写这篇文章. 今天 ...
- iOS 苹果app提交 ITC.apps.validation.prerelease_build_missing
提示这信息,由于没有选择包文件, 在提交页面以下bulid的区域, 加入你的app就可以 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWxpbmNleG ...
- ubuntu桌面环境配置及切换
修改ubuntu默认启动的桌面环境:Ubuntu是否启动图形化界面取决于default-display-manager的设置. vi /etc/X11/default-display-manager值 ...
- Linux常见目录作用
Linux中一切皆文件 文件类型: 一般文件 - 目录文件 d 链接文件 l 块设备 b (以块为单位进行操作,比如硬盘) 字符设备 c (以字符为单位进行操作,比如主存) socket ...
- 去除input在谷歌下的focus效果
input:focus{outline: -webkit-focus-ring-color auto 0;}
- javascript XMLHttpRequest对象全面剖析
转载:http://www.jb51.net/article/23175.htm 一. 引言 异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程 ...
- ASP.NET通用权限验证组件实现
沙发(SF)通用权限验证组件 开篇 本篇介绍通用权限验证的实现代码思路,总共分为导入参数.解析XML.根据XML配置进行处理.返回结果. 代码架构图 1. 类介绍 1.SFWebPermissio ...
- makefile常用指令和常见变量。
引用文章A:http://blog.csdn.net/liang13664759/article/details/1771246 文章介绍:非常详细的文章,讲解上都是比较基础的知识. 本文可能会持续更 ...