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下文件更改到的地址