初次看到官方文档里的可选参数一脸懵,趁端午把可选参数结合3.8.2的源码了解了一遍,整理出来以便以后查阅
uuid , url , path , dir , scene 它属于 request 在shared.ts–>IRequest中有定义
assetManager.loadAny([{ uuid: ‘0cbZa5Y71CTZAccaIFluuZ’}, {url: ‘http://example.com/a.png’}], (err, assets) => log(assets));
type: Constructor<Asset> Asset的子类
assetManager.preloadAny(dir, { __requestType__: RequestType.DIR, type: _type, bundle: this.name }, onProg, onComp);
priority 处理优先级。数字越大优先级越高,默认是0 预加载是-1 参看preset
preset 预设参数 shared.ts–>presets 中定义
default: { priority: 0, }, preload: { maxConcurrency: 6, maxRequestsPerFrame: 2, priority: -1, }, scene: { maxConcurrency: 20, maxRequestsPerFrame: 20, priority: 1, }, bundle: { maxConcurrency: 20, maxRequestsPerFrame: 20, priority: 2, }, remote: { maxRetryCount: 4, },
audioLoadMode 声音处理模式,audio/type.ts中
AudioType { DOM_AUDIO, WEB_AUDIO, MINIGAME_AUDIO, NATIVE_AUDIO, UNKNOWN_AUDIO, }
ext: 用后缀名对应资源下载/加载方式
assetManager.loadRemote('http://www.cloud.com/test3', { ext: '.png' }, (err, texture) => console.log(err));
没有zip文件处理,想要下载zip文件须自行扩展’.zip’
// JS
‘.js’: downloadScript,
‘.jsc’: downloadScript,
// Images
‘.png’: downloadAsset,
‘.jpg’: downloadAsset,
‘.bmp’: downloadAsset,
‘.jpeg’: downloadAsset,
‘.gif’: downloadAsset,
‘.ico’: downloadAsset,
‘.tiff’: downloadAsset,
‘.webp’: downloadAsset,
‘.image’: downloadAsset,
‘.pvr’: downloadAsset,
‘.pkm’: downloadAsset,
‘.astc’: downloadAsset,
// Audio
‘.mp3’: downloadAsset,
‘.ogg’: downloadAsset,
‘.wav’: downloadAsset,
‘.m4a’: downloadAsset,
// Video
‘.mp4’: downloadAsset,
‘.avi’: downloadAsset,
‘.mov’: downloadAsset,
‘.mpg’: downloadAsset,
‘.mpeg’: downloadAsset,
‘.rm’: downloadAsset,
‘.rmvb’: downloadAsset,
// Text
‘.txt’: downloadAsset,
‘.xml’: downloadAsset,
‘.vsh’: downloadAsset,
‘.fsh’: downloadAsset,
‘.atlas’: downloadAsset,
‘.tmx’: downloadAsset,
‘.tsx’: downloadAsset,
‘.fnt’: downloadAsset,
‘.plist’: downloadAsset,
‘.json’: downloadJson,
‘.ExportJson’: downloadAsset,
‘.binary’: downloadAsset,
‘.bin’: downloadAsset,
‘.dbbin’: downloadAsset,
‘.skel’: downloadAsset,
// Font
‘.font’: downloadAsset,
‘.eot’: downloadAsset,
‘.ttf’: downloadAsset,
‘.woff’: downloadAsset,
‘.svg’: downloadAsset,
‘.ttc’: downloadAsset,
bundle: downloadBundle,
default: downloadText
bundle: 对应的bundle名字 string类型
assetManager.preloadAny(dir, { __requestType__: RequestType.DIR, type: _type, bundle: this.name }, onProg, onComp);
onFileProgress
只有两个参数
download('http://example.com/test.tga', '.tga', { onFileProgress: (loaded, total) => console.log(loaded/total) },onComplete: (err) => console.log(err));
注意区别onProgress: ((finished: number, total: number, item: RequestItem) => void) | null
public preloadAny (requests: string | string[] | IRequest | Array<IRequest>, onProgress: ((finished: number, total: number, item: RequestItem) => void) | null, onComplete: ((err: Error | null, data: RequestItem[]) => void) | null): void;
maxConcurrency, maxRequestsPerFrame, maxRetryCount 并发控制和性能优化相关的配置项,这三项可参考 preset预设参数 。
maxConcurrency:number 最大并发请求
maxRequestsPerFrame:number 单帧最大请求数量
maxRetryCount:number 重连次数
version:string 版本号,发布的时候勾选md5 在setting.assets.bundleVers 可获取,也可在发布后的data/src/setting.xxxx.json文件内setting.assets.bundleVers找到
assetManager.loadBundle('01_graphics', {version: 'fbc07'}, function (err, bundl)=>{})
xhrResponseType, xhrWithCredentials, xhrMimeType, xhrTimeout, xhrHeader 与XMLHttpRequest(XHR)相关的配置项,用于定制HTTP请求的行为
onFileProgress中遇到total数据返回一个异常数据 (uint(-1) 4294967295)某些时候可通过可选参数修改请求头来处理,不用改源码,非常方便。
reloadAsset:boolean 是否重新加载资源
cacheAsset:boolean Asset是否加入缓存 场景和默认Asset不能加入缓存
if (!isScene(asset) && cacheAsset && !asset.isDefault) { assets.add(id, asset); }
cacheEnabled:boolean file是否缓存