public class ItemScript : MonoBehaviour {
//异步对象
private WWW downloadOperation;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//判断异步对象并且异步对象没有加载完毕,显示进度
if(downloadOperation!=null&&!downloadOperation.isDone)
{
Text ProgressText = (Text)GameObject.Find("Canvas/ProgressBackGround/ProgressRect/ProgressText").GetComponent();
if(ProgressText != null)
{
ProgressText.text = string.Format("下载进度:{0:F}%",downloadOperation.progress*100.0);
}
}
}
public void OnClickRescourceItem()
{
//显示下载进度面板
GameObject bg = GameObject.Find("Canvas").transform.Find("ProgressBackGround").gameObject;
bg.SetActive(true);
//开始下载
StartCoroutine(DownloadVideo(ItemAddress, ItemLocalFile));
}
public IEnumerator DownloadVideo(string url, string localPath)
{
downloadOperation = new WWW(url);
yield return downloadOperation;
//下载完成,关闭进度面板
GameObject bg = GameObject.Find("Canvas").transform.Find("ProgressBackGround").gameObject;
bg.SetActive(false);
//生成文件
Byte[] b = downloadOperation.bytes;
File.WriteAllBytes(localPath, b);
}
}
Unity下载文件并显示进度
关注
打赏