Unity3D 封装WWW
来源:互联网 发布:pc数据恢复软件下载 编辑:程序博客网 时间:2024/06/05 19:19
using System.Collections;using System.Collections.Generic;using UnityEngine;public class WWWTest { /// <summary> /// 下载路径 /// </summary> private string url; public string URL { set { url = value; } get { return url; } } /// <summary> /// 开始下载 /// </summary> public virtual void BeginDownLoad() { } /// <summary> /// 下载结束 /// </summary> public virtual void FinishDownLoad(WWW tepWWW) { } /// <summary> /// 下载出错 /// </summary> public virtual void ErrorDownLoad() { } /// <summary> /// 下载协程 /// </summary> /// <returns></returns> public IEnumerator DownLoad() { BeginDownLoad(); WWW www = new WWW(URL); yield return www; if (string.IsNullOrEmpty(www.error)) { //下载成功 FinishDownLoad(www); } else { //下载失败 ErrorDownLoad(); } }}
using System.Collections;using System.Collections.Generic;using UnityEngine;public class WWWDownLoad : WWWTest { /// <summary> /// 构造方法 /// </summary> /// <param name="url"></param> public WWWDownLoad(string url) { Init(url); } /// <summary> /// 丰富URL /// </summary> /// <param name="url"></param> public void Init(string url) { if (Application.platform == RuntimePlatform.Android) { this.URL = "jar:file://" + url; } else if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.WindowsPlayer) { this.URL = "file:///" + url; } else { this.URL = "file://" + url; } } public override void FinishDownLoad(WWW tepWWW) { Debug.Log(tepWWW.text); }}
using System.Collections;using System.Collections.Generic;using UnityEngine;public class DownLoading : MonoBehaviour { public static DownLoading Instance; /// <summary> /// 下载队列 /// </summary> Queue<WWWTest> DownLoadQueue; /// <summary> /// 是否下载完成 /// </summary> private bool IsFinish; private void Awake() { Instance = this; } void Start () { DownLoadQueue = new Queue<WWWTest>(); IsFinish = true; } /// <summary> /// 添加下载任务到下载队列中 /// </summary> public void AddDownLoad(WWWTest test) { DownLoadQueue.Enqueue(test); //如果下载完成 开启下载协程 if (IsFinish) { IsFinish = false; StartCoroutine(DownLoad()); } } public IEnumerator DownLoad() { while(DownLoadQueue.Count > 0) { WWWTest test = DownLoadQueue.Dequeue(); yield return test.DownLoad(); } IsFinish = true; } void Update () { //调用 if (Input.GetKeyDown(KeyCode.A)) { string url = Application.dataPath + "/WWW/WWWTest.cs"; WWWDownLoad download1 = new WWWDownLoad(url); AddDownLoad(download1); Debug.Log(123); } }}
阅读全文
1 0
- Unity3D 封装WWW
- unity3d WWW加载资源
- Unity3D,WWW下载声音
- Restsharp 与 unity3D WWW
- Unity WWW强力封装
- unity3d www下载资源包
- Unity3D的WWW类使用
- unity3d--封装、继承、多态
- Unity3D c# 状态机封装
- unity3d uGUI 高级封装
- WWW封装共享 [复制链接]
- Unity3D之Button的封装
- unity3d---属性封装和继承
- unity3d---属性封装和继承
- Unity3D-HTTP网络层封装
- Unity3d中EventTrigger的封装
- unity3d,通过WWW加载图片纹理
- Unity3D, WWW下载图片并保存
- egret_gif动画(帧动画)
- linux安装svn
- 关于伪静态的理解
- (C++)智能指针的小“自传”
- 反走样技术
- Unity3D 封装WWW
- CentOS7 安装 Kibana
- 抽屉视图控制器的使用
- java中使用Hessian基本步骤
- webdriver之Can not connect to the Service chromedriver
- JVM自带性能分析工具介绍——jmap和jhat
- mySQL之视图、触发器、事务、存储过程、函数、流程控制
- Linux:安装jdk(tar)
- python-----奇怪的国家