U2L10-1——Resources资源同步加载
U2L10-1——Resources资源同步加载
Resources动态加载资源的方法,让对象拓展性更强
相对拖曳来说 它更加一劳永逸 更加方便
重要知识点:记住API
记住一些特定的格式
预设体加载出来一定要实例化
本章代码关键字
1 | Resources.Load() //读取Resources文件夹下的指定名字的文件,返回Unity的Object,需要自行转换 |
资源同步加载普通方法
如果文件放在Resources文件夹下的某个文件夹内,需要加上路径
预设体对象
想要创建预设体在场景上 要记住实例化
- 第一步:要去加载预设体的资源文件(本质上就是加载配置数据在内存中)
- 第二步:如果想要在场景上创建预设体一定是加载配置文件过后,然后实例化
1 | //第一步:要去加载预设体的资源文件(本质上就是加载配置数据在内存中) |
音效资源
1 | //第一步:加载数据 |
文本资源
文本资源支持的格式有:.txt、.xml、.bytes、.json、.html、.csv …
注意,如果加载不被支持的格式,会返回null
1 | TextAsset ta = Resources.Load("txt/test") as TextAsset; |
TextAsset
是Unity的文本资源,包含文本内容和字节数据组等
1 | TextAsset ta = Resources.Load("txt/test") as TextAsset; |
图片
1 | tex = Resources.Load("Tex/test") as Texture; |
其他类型
需要什么类型 就用什么类型即可
如果资源重名
Resources.Load加载同名不同类型资源时 无法准确加载出想要的内容,可以使用另外的API
加载指定类型的资源
读取Resources文件夹下的指定名字指定类型的文件,但是仍然返回Unity的Object
,需要自行转换
1 | tex = Resources.Load("Tex/test", typeof(Texture)) as Texture; |
加载指定名字的所有资源
读取Resources文件夹下的指定名字所有类型的文件,返回Unity的Object
数组
1 | Object[] objs = Resources.LoadAll("Tex/test"); |
资源同步加载泛型方法
使用了泛型,泛型方法可以让读取返回的值是指定的类型而不再是Unity的Object
,无需转化,同时规避了重名不同类型返回内容不确定的问题
因此实际使用都推荐泛型方法
1 | TextAsset ta2 = Resources.Load<TextAsset>("Tex/test"); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!