Unity3D Resources Load 资源加载测试

先摘一段Unity 文档上关于Resources.Load的相关说明:

Resources.Load 加载:

加载储存在Resources文件夹中path处的资源

如果查找到资源,返回所在path处的资源,否则返回null。只有type类型的物体将被返回,path相对于Resources文件夹,扩展名必须被忽略。

Resources文件夹可以在Asserts文件夹中的任何位置。


以上是文档中的原话,可以看出,要使用Resources.Load方法加载资源,必须把资源放到固定的Resources文件夹内。我也试过在其他文件夹进行加载,加载失败。

工具是死的,要想用Resources.Load就只能顺着它,在Asserts中新建一个"Resources"文件夹,然后把你的资源放进去,支持子文件夹,所以不用把所有资源一股脑丢进来,可以按类型分为各个文件夹,然后放到“Resources”中。

直接加载Resources中的资源,可以这样写:

[csharp]  view plain copy
  1. Object prefab = Resources.Load(<span style="background-color: rgb(255, 255, 255);"><span style="color:#cc0000;">"Prefab01"</span></span>);  

然后使用进行克隆使用:

[csharp]  view plain copy
  1. Object prefabClone = Instantiate(prefab);  
[csharp]  view plain copy
  1.   

加载Resources子文件夹中的资源,可以这样写:

Object prefab = Resources.Load("MyPrefab/Prefab01");
这里
需要注意的是 "/" 文件夹分隔符,如果写成 “\” 或“\\” 或 “//” 是不行的,熟悉写C++的要注意下

我们可以知道,Resources.Load返回的是 Object 类型,这个类型可以说基本没任何用处,必须要进行类型转换

如果我想在加载的同时就进行类型转换,可以这样写:

[csharp]  view plain copy
  1. GameObject prefab = Resources.Load("Prefabs/Prefab01"as GameObject;  
  2. Debug.Log(prefab.GetType());<span style="font-family: Arial, Helvetica, sans-serif;">   </span>  
[csharp]  view plain copy
  1. 然后进行克隆,想怎么用就怎么用了。  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值