WebRequest加载文档
IEnumerator LoadResourceCorotine()
{
UnityWebRequest request = UnityWebRequest.Get(@"http://localhost/fish.lua.txt");
yield return request.SendWebRequest();
string str = request.downloadHandler.text;
File.WriteAllText(@"D:\PlayerGamePackage\fish.lua.txt", str);
}
WebRequest加载图片
IEnumerator LoadImageByUrl(string url,Action<Texture2D> action)
{
UnityWebRequest request = new UnityWebRequest(url);
DownloadHandlerTexture downloadHandler = new DownloadHandlerTexture(true);
request.downloadHandler = downloadHandler;
yield return request.SendWebRequest();
Texture2D texture = null;
if (!request.isNetworkError||request.isHttpError)
{
texture = downloadHandler.texture;
}
if (action!=null)
{
action(texture);
}
//Texture2D转Sprite
//Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);
}
UnityWebRequest下载AB包
IEnumerator Instiate()
{
string uri = "http://192.168.1.103:9090/1/prefabs";
UnityWebRequest request = UnityWebRequestAssetBundle.GetAssetBundle(uri,0);
yield return request.SendWebRequest();
AssetBundle ab = DownloadHandlerAssetBundle.GetContent(request);
GameObject cube= ab.LoadAsset<GameObject>("Cube");
Instantiate(cube);
}
UnityWebRequest下载并保存AB
IEnumerator Instiate() {
UnityWebRequest request = UnityWebRequest.Get(abPath);
request.SendWebRequest();
while (!request.isDone) {
Debug.Log(request.downloadProgress);
yield return 0;
}
if (request.isDone) {
Debug.Log("下载完成");
}
byte [] data = request.downloadHandler.data;
string fileName = Path.GetFileName(abPath);
using (FileStream fs = new FileStream(Application.streamingAssetsPath + "/" + fileName , FileMode.Create)) {
fs.Write(data , 0 , data.Length);
}
AssetBundle ab = AssetBundle.LoadFromMemory(data);
}