1.Resources:
Resources.Load<T>(path);
2.AssetDatabase:
AssetDatabase.LoadAssetAtPath<T>(path);
3.WWW:
public static IEnumerator WWWLoad(string url)
{
WWW www = new WWW(url);
yield return www;
}
4.UnityWebRequest:
public static IEnumerator UnityWebRequestLoad(string url)
{
UnityWebRequest webRequest = UnityWebRequestTexture.GetTexture(url);
yield return webRequest.SendWebRequest();
if (webRequest.isNetworkError || webRequest.isHttpError)
{
Debug.Log(webRequest.error);
}
else
{
//www.downloadHandler.text拿到的json
yield return null;
}
}
//直接获取完毕下载到path里面
IEnumerator DownloadSceneJsonRequest(string url, string path, Action<string> callback)
{
var uri = new Uri(Const.Url + url);
var uwr = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbGET)
{
downloadHandler = new DownloadHandlerFile(path)
};
yield return uwr.SendWebRequest();
if ((uwr.isHttpError || uwr.isNetworkError))
{
Debug.Log(uwr.error);
JObject job = new JObject();
job.Add("code", "-10000");
job.Add("message", uwr.error);
String paramString = job.ToString(Newtonsoft.Json.Formatting.None, null);
callback.Invoke(paramString);
}
else
{
if (uwr.responseCode == 200)//200表示接受成功
{
callback.Invoke(uwr.downloadHandler.text);
}
}
uwr.Dispose();
}