牛骨文教育服务平台(让学习变的简单)
博文笔记

Unity下载文件并显示进度

创建时间:2016-10-28 投稿人: 浏览次数:5021
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<Text>();
			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); 
	}
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。