精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【Unity3d】【項目學習心得】從資源服務器下載資源(一)
項目里面的許多資源都是從資源服務器加載的,這樣子可以減小客戶端的包大小。
所以我們需要一個專門的類來管理下載資源。
資源分很多類型,如:json表,txt文件,image文件,二進制文件,UIAtlas圖集,AssetBundle等。
所以,首先創建一個管理資源文件類型的類LoadFileType。 其中文件類型可以用枚舉來表示,也可以用類成員常量來表示。
此處使用類成員常量:
[csharp] view plaincopy
using UnityEngine;
using System.Collections;
namespace AssemblyCSharp {
public class LoadFileType {
public const string IMAGE = "image";
// unity3d文件格式
public const string UNITY3D = "unity3d";
// 模塊資源打包格式
public const string MODULE_RESOURCE = "moduleResource";
public const string BINARY = "binary";
public const string TXT = "txt";
public const string JSON = "json";
// fbx打包的assetBundle格式文件
public const string FBX = "fbx";
public const string AUDIO = "audio";
// 字體文件
public const string FONT = "font";
// 二進制文件(用于后臺更新)
public const string BINARY_BG = "binary_bg";
}
}
接下來需要創建一個類,用來管理單個下載任務,Unity3D下載都是使用WWW來下載,我們要創建的類需要具有以下功能:
① 使用WWW下載資源。
② 具備委托回調接口,方便調用這個類的對象能夠接收到反饋,初步回調需要:下載完成后的回調,出現錯誤的回調,下載進程的回調。
③ 超時設置,超過一定時間則被認定下載任務失敗。
④ 除此之外,還需記錄本次下載任務的URL、以及所下載資源的fileType。
根據以上條件,這個類大致為:
// LoadReques.cs
[csharp] view plaincopy
/**
* 下載任務
* create by chensh 2014.10.27 10:31
*/
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace AssemblyCSharp {
public class LoadRequest {
public delegate void DownCompleteDelegate(LoadParam param);
public delegate void ErrorDelegate(LoadRequest request);
public delegate void ProcessDelegate(float processValue, int fileTotalSize = 0);
public DownCompleteDelegate completeFunction;
public ErrorDelegate errorFunction;
public ProcessDelegate processFunction;
public const int TIME_OUT_FRAMES = 300;
private int _loadTotalFrames = 0; // 加載的總幀數
public bool isTimeOut = false;
public bool alreadyDeal = false;
public string requestURL;
public string fileType;
public WWW wwwObject = null;
public List<object> customParams = new List<object>();
public int priotiry = LoadPriority.NORMAL;
public LoadRequest(string url,  object customParam = null, string type = "", DownCompleteDelegate completeFunc = null, ErrorDelegate errorFunc = null, ProcessDelegate processFunc = null) {
requestURL = url;
fileType = type;
completeFunction = completeFunc;
if (completeFunc != null)
customParams.Add(customParam);
if (errorFunc != null)
errorFunction = errorFunc;
if (processFunc != null)
processFunction = processFunc;
wwwObject = new WWW(requestURL);
wwwObject.threadPriority = ThreadPriority.Normal;
}
public int loadTotalFrames {
get {
return _loadTotalFrames;
}
set {
_loadTotalFrames = value;
if (_loadTotalFrames > LoadRequest.TIME_OUT_FRAMES)
isTimeOut = true;
}
}
}
}
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C# WebApi使用AttributeRoutes特性路由
在unity中使用Newtonsoft.Json
AssetBundle系列資源的加載、簡易的資源管理器
Unity -Demo 之 ? 語音識別-訊飛SDK使用過程
U8SDK
C# HttpClient發送請求獲取接口數據
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 通辽市| 上杭县| 宁远县| 醴陵市| 金寨县| 铁岭市| 侯马市| 连南| 双鸭山市| 千阳县| 昌邑市| 白银市| 瑞丽市| 邯郸市| 通渭县| 鹿邑县| 监利县| 昌吉市| 颍上县| 高邮市| 津南区| 绩溪县| 阿荣旗| 泰州市| 遵义县| 甘孜县| 湖北省| 舞钢市| 梁平县| 洮南市| 湖南省| 娄底市| 宜兰市| 皮山县| 湖南省| 溧水县| 郁南县| 洞口县| 万载县| 迭部县| 大同市|