项目中有多个resource文件夹时,load问题

来源:互联网 发布:江铠同翟天临分手知乎 编辑:程序博客网 时间:2024/04/25 09:27

由于resources.load需要把资源放在resources文件夹里,我一开始只用了一个resources文件夹,资源不好分类,其实unity可以有多个resources文件夹,出于好奇测试了一下几种情况。

1)resources文件夹名字大小写

在NGUI文件夹下的Resources文件夹里放了一个Cube预制体,然后在Assets里再新建一个resources文件夹,放了一个Sphere预制体,在相机上挂脚本,加载成功。

脚本如下:

void Start () {        GameObject obj1=Instantiate(Resources.Load("Cube")) as GameObject;        GameObject obj2 = Instantiate(Resources.Load("Sphere")) as GameObject;        obj1.transform.parent = this.transform;        obj2.transform.parent = this.transform;        obj2.transform.position = new Vector3(2, 0, 0);}

可见大小写无影响。

2)不同Resources文件夹加载同名预制体

在NGUI的Resources文件夹里放一个名字叫Sphere的cube,运行,加载出来的Sphere是NGUI Resources下的Sphere。在Assets里新建一个文件夹叫AAA,里面建一个resources文件夹,放一个名字叫Sphere的Capsule,运行,加载出来的Sphere仍然是NGUI Resources下的Sphere。

这个结果有点奇怪,工程里AAA文件夹在最前面,NGUI在中间,Resources文件夹在最后,但加载的是NGUI Resources文件夹里的。

更改resources文件夹名字大小写,结果不变

更改这两行代码的顺序,结果不变,而且hierarchy面板里的顺序仍然是Cube在上面

        GameObject obj2 = Instantiate(Resources.Load("Sphere")) as GameObject;GameObject obj1=Instantiate(Resources.Load("Cube")) as GameObject;

运行结果:


0 0