WWW其实很好用的。实测了,几百个的并发量毫无问题,相信,你的产品也没多少需要几百个的并发下载吧。 WWW说白了就是个Unity3D对http请求的一个封装,他支持GET和POST两种(借助于表单WWWForm实现POST),我这里只是简单的封装使用,没有做深入捣鼓,如果你深入捣鼓了WWW的HttpHead部分,欢迎你的共享。 先看一下使用示例:[C#] 纯文本查看 复制代码?PgResourceLoader.Load<string>(" strObj =>{ m_buildScene = JsonMapper.ToObject<SceneStruct[]>(strObj);}, ex =>{ Debug.Log(ex);}); 下面是源码: PgResourceLoader 文件源码: [C#] 纯文本查看 复制代码?publicclass PgResourceLoader : MonoBehaviour{ #region 私有单例 /// <summary> /// 实例 /// </summary> privatestatic PgResourceLoader g_instance; /// <summary> /// 锁,控制多线程冲突(传闻5是多线程) /// </summary> privatestatic readonly System.Object g_lock = newobject(); /// <summary> /// 获取实例 /// </summary> privatestatic PgResourceLoader Instance { get { if(g_instance == null) { lock(g_lock) { if(g_instance == null) { GameObject gObject = newGameObject(); gObject.name = "Penguin_Resource_Loader"; g_instance = gObject.AddComponent<PgResourceLoader>(); } } } returng_instance; } } #endregion #region 静态公开方法 /// <summary> /// 加载资源 /// </summary> /// <param name="p_resourceName">资源名称</param> /// <param name="p_form">表单信息</param> /// <param name="p_completeCallBack">回调函数</param> /// <param name="p_errorCallBack">异常回调函数</param> /// <returns>加载的资源实例</returns> publicstatic void Load<T>(stringp_resourceName, WWWForm p_form = null, Action<T> p_completeCallBack = null, Action<PgLoadException> p_errorCallBack = null) where T : class { PgResourceLoaderEnumerator<T>.Load(Instance, p_resourceName, p_form, p_completeCallBack, p_errorCallBack); } #endregion}PgLoadState.cs 加载状态代码:[C#] 纯文本查看 复制代码?namespacePenguin{ /// <summary> /// 加载状态 /// </summary> enumPgLoadState { /// <summary> /// 空闲 /// </summary> Idle, /// <summary> /// 加载中 /// </summary> Loading, /// <summary> /// 加载成功 /// </summary> Success, /// <summary> /// 发生异常 /// </summary> Error, /// <summary> /// 加载结束 /// </summary> Lastone }}PgLoadException.cs:异常文件[C#] 纯文本查看 复制代码?namespacePenguin{ publicclass PgLoadException : Exception { /// <summary> /// 设置或获取WWW加载器 /// </summary> publicWWW WWW { set;get; } /// <summary> /// 构造函数 /// </summary> publicPgLoadException() :base() { } /// <summary> /// 构造函数 /// </summary> /// <param name="p_message">异常消息</param> publicPgLoadException(stringp_message) :base(p_message)//调用基类的构造器 { } /// <summary> /// 构造函数 /// </summary> /// <param name="p_message">异常消息</param> /// <param name="p_innerException">异常</param> publicPgLoadException(stringp_message, Exception p_innerException) :base(p_message, p_innerException)//调用基类的构造器 { } }}
推荐整理分享WWW封装共享 [复制链接],希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
unity学习之摄像机的应用 unity学习,希望我的博客能给喜欢unity的朋友带来帮助今天学习了摄像机的应用,具体用途就是在游戏中,主角在行走时是远距离的跟随照射,当打怪物
Unity shader教程-第三课:实践!同一个shader,多个material。 本文首发地址:
Unity 实现大转盘笔记 1、unity中要实现旋转一个gameobject,我们需要改变它的transform下对应的Rotation,由于我们的大转盘是2D的视角,所以我们首先需要明确大转盘旋转的方向是