3、Unity【基础】Resources资源&场景动态加载

在这里插入图片描述

一、Resources资源动态加载

1、Unity中特殊文件夹

1、工程路径获取

Application.dataPath //开发使用,打包后无效

2、Resources资源文件夹

路径获取:一般不获取
只能使用Resources相关API进行加载
可以用工程路径拼接获取路径
    print(Application.dataPath+"/Resources");
注意:
需要我们自己创建
作用:
资源文件夹
1.需要通过Resources相关API动态加载的资源需要放在其中
2.该文件夹下所有文件都会被打包
3.打包时Unity会对其压缩加密
4.该文件夹打包后只读只能通过Resources相关API加载

3、StreamingAssets流动资源文件夹

路径获取
	print(Application.streamingAssetsPath);
注意:
需要我们自已创建
作用:
流文件夹
1.打包出去不会被压缩励密,可以任由我们门摆布
2.移动平台只读,PC平台可读可写
3.可以放入一些需要自定义动态加载的初始资源

4、persistentDataPath持久数据文件夹

路径获取
	print(Application.persistentDataPath);
注意:
不需要我们自己创建
作用:
固定数据文件夹
1.所有平台都可读写
2.一般用于放置动态下载或者动态创建的文件,游戏中创建或者获取的文件都放在其中

5、Plugins插件文件夹

路径获取般不获取
注意:
需要我们自己创建
作用:
插件文件夹
不同平台的插件相关文件放在其中
比如放入Ios和Android平台的工具

6、Editor编辑器文件夹

路径获取:一般不获取
如果硬要获取可以用工程路径拼接
注意:
需要我们自己创建
作用:
编辑器文件夹
1.开发Unity编辑器时,编辑器相关脚本放在该文件夹中
2.该文件夹中内容不会被打包出去

7、默认资源文件夹StandardAssets

路劲获取:一般不获取
注意:
需要我们自己创建
作用:
默认资源文件夹
一般Unity自带资源都放在这个文件夹下
代码和资源优先被编译

2、Resources同步加载

1、Resources资源动态加载的作用

1.通过代码动态加载Resources文件夹下指定路径资源
2.避免繁锁的拖曳操作

2、常用资源类型

1.预设体对象 Gameobject
2.音效文件 AudioClip
3.文本文件 TextAsset
4.图片文件 Texture
5.其它类型 需要什么用什么类型
注意:
预设体对象加载需要实例化
其它资源加载一般直接用

3、资源同步加载【普通方法】

一个工程可以有多个Resources文件夹,打包时会自动整合在一起
    
1.预设体对象 想要创建在场景上【实例化】
	第一步:要去加载设体的资源文件(本质上就是加载配置数据在内存中)
    	Object obj = Resources.Load("Cube");
	第二步:如果想要在场景创建预设体一定是加载配置文件过后然后实例化
        Instantiate(obj);

2.音效资源
    public AudioSource audioS;
    第一步:加载数据
    	Object obj = Resources.Load("Music/BkMusic");
    第二步:使用数据,不需要实例化音效切片,只需要把数据赋值到正确的脚本上即可
    	audioS.clip = obj as AudioClip;
		audioS.Play();

3.文本资源
文本资源支持的格式
.txt.xml.bytes.json.html.csv
    TextAsset ta = Resources.Load("Txt/Test")as TextAsset;
文本内容
    print(ta.text);
字节数据组
    print(ta.bytes);

4.图片
    private Texture tex;
        tex = Resources.Load("Tex/TestJPG") as Texture;
	private void OnGUI(){
   
        GUI.DrawTexture(new Rect(0, 0,100, 100),tex);
    }
		
5.其它类型 需要什么类型就用什么类型就行
    
6.问题:资源同名怎么办
    Resources.Load加载同名资源时,无法准确载出你想要的内容
    可以使用另外的API
    1.加载指定类型的资源
    	tex = Resources.Load(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值