Unity学习笔记:对本地文件进行操作

本文详细介绍了Unity中资源的加载与管理方式,包括Resources类的使用,如Load和UnloadAsset方法,以及StreamingAssets的特性。同时,对比了线程与协同程序的差异,并解释了如何通过IEnumerator实现资源的异步加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Resources类
Resources.Load(string,typeof(资源类型)) as GameObjuct读取Assase下的Resources文件夹下传入路径的物体,第二个参数限定读取到的物体的类型。
Resources.LoadAll(string,typeof(资源类型))传入一个文件夹的名字,用Object数组保存返回的文件夹中的所有值,第二个参数限定读取到的物体的类型。

在现在的版本中一般使用泛型,如:T = Resources.Load<T>(string);


Resources.UnloadAsset();释放内存中所有的空资源(也可以等待系统自动进行垃圾回收)

StreamingAssets在创建应用时同时创建出来的不压缩的只读的本地资源。

协同程序和线程的区别:线程为同一时间多个同时执行,协同程序属于在主线程只有一个能执行,在协同程序执行时,主线程会暂停,反之同理,协同程序的主要作用是读取WWW类型资源和等待多长时间执行一次或每次等待多长时间执行多次甚至无数次的情况。

IEnumerator 协同程序名 (形参一 形参二)  (可以无参数或多个参数)
{
    //等待前的逻辑
    yield return new WaitForSeconds(int);使协同程序等待(参数)秒
    yield return WWW 等待WWW类的资源接受完成后继续
    //等待后的逻辑
}
this.StartCoroutine(string 协同程序名) 开启一个协同程序
StopCoroutine()(sting)不传入参数关闭所有协同程序,传入参数关闭协同程序的名字(性能开销较大)

WWW读取文件

WWW www = new WWW("网址") 从网络上读取文件保存到www
WWW www=new WWW(@"file://"+Application.streamingAssetsPath+"文件名")从本地文件StreamingAssets文件夹中读取名字位文件名的文件加在到www中

WWW.progress返回当前WWW文件下载的百分比(可在协同程序外使用)

Application类
Application.dataPath返回Assets文件夹路径
Application.persistentDataPath返回C盘用户下文件保存路径(安卓下该路径具有最高权限)
Application.streamingAssetsPath返回发布后原StreamingAssets下文件更改到的地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值