UnityWebRequest基礎(chǔ)學(xué)習(xí)(post,get請求以及加載AssetBundle)

  1. Post請求:
    using UnityEngine;
    using UnityEngine.Networking;
    using System.Collections;

public class MyBehavior : MonoBehaviour
{
void Start()
{
StartCoroutine(Upload());
}

IEnumerator Upload()
{
    WWWForm form = new WWWForm();
    form.AddField("key", "value");
    UnityWebRequest request = UnityWebRequest.Post(url, form)
    yield return request.SendWebRequest();
    Debug.Log(request.error);
    Debug.Log(request.responseCode);
    Debug.Log(request.downloadHandler.text);
}

}

  1. Get請求
    IEnumerator Get()
    {
    UnityWebRequest request =UnityWebRequest.Get(url);
    yield return request.SendWebRequest();
    Debug.Log(request.error);
    Debug.Log(request.responseCode);
    Debug.Log(request.downloadHandler.text);
    }

  2. 加載AssetBundle
    第一種方式,將AssetBundle加載到緩存
    IEnumerator LoadABWeb()
    {
    UnityWebRequest request = UnityWebRequest.GetAssetBundle(path);
    yield return request.SendWebRequest();
    Debug.Log(request.error);
    AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(request);
    audio.clip = bundle.LoadAsset<AudioClip>("music");
    audio.Play();
    }
    第二種方式:加載AssetBundle并保存到本地

IEnumerator Test()
{
UnityWebRequest request =UnityWebRequest.Get(path);
yield return request.SendWebRequest();
CreatFile(path, request.downloadHandler.data,request.downloadHandler.data.Length);
AssetBundle ab=AssetBundle.LoadFromFile(path);
audio.clip = ab.LoadAsset<AudioClip>("music");
audio.Play();
}

void CreatFile(string path, byte[] file, int length)
{
Stream sw;
FileInfo File = new FileInfo(path);
if (!File.Exists)
{
sw = File.Create();
}
else
{
return;
}
sw.Write(file, 0, length);
sw.Close();
sw.Dispose();
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容