Package | laya.net |
Class | public class LoaderManager |
Inheritance | LoaderManager EventDispatcher Object |
LoaderManager
类用于用于批量加载资源。此类是单例,不要手动实例化此类,请通过Laya.loader访问。
全部队列加载完成,会派发 Event.COMPLETE 事件;如果队列中任意一个加载失败,会派发 Event.ERROR 事件,事件回调参数值为加载出错的资源地址。
LoaderManager
类提供了以下几种功能:
多线程:默认5个加载线程,可以通过maxLoader属性修改线程数量;
多优先级:有0-4共5个优先级,优先级高的优先加载。0最高,4最低;
重复过滤:自动过滤重复加载(不会有多个相同地址的资源同时加载)以及复用缓存资源,防止重复加载;
错误重试:资源加载失败后,会重试加载(以最低优先级插入加载队列),retryNum设定加载失败后重试次数,retryDelay设定加载重试的时间间隔。
See also
Property | Defined By | ||
---|---|---|---|
maxLoader : int = 5 最大下载线程,默认为5个 | LoaderManager | ||
retryDelay : int = 0 延迟时间多久再进行错误重试,默认立即重试 | LoaderManager | ||
retryNum : int = 1 加载出错后的重试次数,默认重试一次 | LoaderManager |
Method | Defined By | ||
---|---|---|---|
创建一个新的 LoaderManager 实例。
注意:请使用Laya.loader加载资源,这是一个单例,不要手动实例化此类,否则会导致不可预料的问题。
| LoaderManager | ||
cacheRes(url:String, data:*):void
缓存资源。
| LoaderManager | ||
cancelLoadByUrl(url:String):void
根据地址清理掉未加载的内容
| LoaderManager | ||
cancelLoadByUrls(urls:Array):void
根据地址集合清理掉未加载的内容
| LoaderManager | ||
clearRes(url:String, forceDispose:Boolean = false):void
清理指定资源地址缓存。
| LoaderManager | ||
clearResByGroup(group:String):void
根据分组清理资源。
| LoaderManager | ||
clearUnLoaded():void 清理当前未完成的加载,所有未加载的内容全部停止加载。 | LoaderManager | ||
create(url:*, complete:Handler = null, progress:Handler = null, clas:Class = null, params:Array = null, priority:int = 1, cache:Boolean = true):*
根据clas类型创建一个未初始化资源的对象,随后进行异步加载,资源加载完成后,初始化对象的资源,并通过此对象派发 Event.LOADED 事件,事件回调参数值为此对象本身。套嵌资源的子资源会保留资源路径"?"后的部分。
如果url为数组,返回true;否则返回指定的资源类对象,可以通过侦听此对象的 Event.LOADED 事件来判断资源是否已经加载完毕。
注意:cache参数只能对文件后缀为atlas的资源进行缓存控制,其他资源会忽略缓存,强制重新加载。
| LoaderManager | ||
event(type:String, data:* = null):Boolean
派发事件。
| EventDispatcher | ||
getRes(url:String):*
获取指定资源地址的资源。
| LoaderManager | ||
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | ||
isMouseEvent(type:String):Boolean
检测指定事件类型是否是鼠标事件。
| EventDispatcher | ||
load(url:*, complete:Handler = null, progress:Handler = null, type:String = null, priority:int = 1, cache:Boolean = true, group:String = null, ignoreCache:Boolean = false):LoaderManager
加载资源。资源加载错误时,本对象会派发 Event.ERROR 事件,事件回调参数值为加载出错的资源地址。
因为返回值为 LoaderManager 对象本身,所以可以使用如下语法:Laya.loader.load(...).load(...);
| LoaderManager | ||
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | ||
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
| EventDispatcher | ||
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知。
| EventDispatcher | ||
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知,此侦听事件响应一次后自动移除。
| EventDispatcher | ||
setGroup(url:String, group:String):void
设置资源分组。
| LoaderManager |
maxLoader | property |
public var maxLoader:int = 5
最大下载线程,默认为5个
retryDelay | property |
public var retryDelay:int = 0
延迟时间多久再进行错误重试,默认立即重试
retryNum | property |
public var retryNum:int = 1
加载出错后的重试次数,默认重试一次
LoaderManager | () | Constructor |
public function LoaderManager()
创建一个新的 LoaderManager
实例。
注意:请使用Laya.loader加载资源,这是一个单例,不要手动实例化此类,否则会导致不可预料的问题。
cacheRes | () | method |
public function cacheRes(url:String, data:*):void
缓存资源。
Parameters
url:String — 资源地址。
| |
data:* — 要缓存的内容。
|
cancelLoadByUrl | () | method |
public function cancelLoadByUrl(url:String):void
根据地址清理掉未加载的内容
Parameters
url:String — 资源地址
|
cancelLoadByUrls | () | method |
public function cancelLoadByUrls(urls:Array):void
根据地址集合清理掉未加载的内容
Parameters
urls:Array — 资源地址集合
|
clearRes | () | method |
public function clearRes(url:String, forceDispose:Boolean = false):void
清理指定资源地址缓存。
Parameters
url:String — 资源地址。
| |
forceDispose:Boolean (default = false ) — 是否强制销毁,有些资源是采用引用计数方式销毁,如果forceDispose=true,则忽略引用计数,直接销毁,比如Texture,默认为false
|
clearResByGroup | () | method |
public function clearResByGroup(group:String):void
根据分组清理资源。
Parameters
group:String — 分组名
|
clearUnLoaded | () | method |
public function clearUnLoaded():void
清理当前未完成的加载,所有未加载的内容全部停止加载。
create | () | method |
public function create(url:*, complete:Handler = null, progress:Handler = null, clas:Class = null, params:Array = null, priority:int = 1, cache:Boolean = true):*
根据clas类型创建一个未初始化资源的对象,随后进行异步加载,资源加载完成后,初始化对象的资源,并通过此对象派发 Event.LOADED 事件,事件回调参数值为此对象本身。套嵌资源的子资源会保留资源路径"?"后的部分。
如果url为数组,返回true;否则返回指定的资源类对象,可以通过侦听此对象的 Event.LOADED 事件来判断资源是否已经加载完毕。
注意:cache参数只能对文件后缀为atlas的资源进行缓存控制,其他资源会忽略缓存,强制重新加载。
Parameters
url:* — 资源地址或者数组。如果url和clas同时指定了资源类型,优先使用url指定的资源类型。参数形如:[{url:xx,clas:xx,priority:xx,params:xx},{url:xx,clas:xx,priority:xx,params:xx}]。
| |
complete:Handler (default = null ) — 加载结束回调。根据url类型不同分为2种情况:1. url为String类型,也就是单个资源地址,如果加载成功,则回调参数值为加载完成的资源,否则为null;2. url为数组类型,指定了一组要加载的资源,如果全部加载成功,则回调参数值为true,否则为false。
| |
progress:Handler (default = null ) — 资源加载进度回调,回调参数值为当前资源加载的进度信息(0-1)。
| |
clas:Class (default = null ) — 资源类名。如果url和clas同时指定了资源类型,优先使用url指定的资源类型。参数形如:Texture。
| |
params:Array (default = null ) — 资源构造参数。
| |
priority:int (default = 1 ) — (default = 1)加载的优先级,优先级高的优先加载。有0-4共5个优先级,0最高,4最低。
| |
cache:Boolean (default = true ) — 是否缓存加载的资源。
|
* — 如果url为数组,返回true;否则返回指定的资源类对象。
|
getRes | () | method |
public function getRes(url:String):*
获取指定资源地址的资源。
Parameters
url:String — 资源地址。
|
* — 返回资源。
|
load | () | method |
public function load(url:*, complete:Handler = null, progress:Handler = null, type:String = null, priority:int = 1, cache:Boolean = true, group:String = null, ignoreCache:Boolean = false):LoaderManager
加载资源。资源加载错误时,本对象会派发 Event.ERROR 事件,事件回调参数值为加载出错的资源地址。
因为返回值为 LoaderManager 对象本身,所以可以使用如下语法:Laya.loader.load(...).load(...);
Parameters
url:* — 要加载的单个资源地址或资源信息数组。比如:简单数组:["a.png","b.png"];复杂数组[{url:"a.png",type:Loader.IMAGE,size:100,priority:1},{url:"b.json",type:Loader.JSON,size:50,priority:1}]。
| |
complete:Handler (default = null ) — 加载结束回调。根据url类型不同分为2种情况:1. url为String类型,也就是单个资源地址,如果加载成功,则回调参数值为加载完成的资源,否则为null;2. url为数组类型,指定了一组要加载的资源,如果全部加载成功,则回调参数值为true,否则为false。
| |
progress:Handler (default = null ) — 加载进度回调。回调参数值为当前资源的加载进度信息(0-1)。
| |
type:String (default = null ) — 资源类型。比如:Loader.IMAGE。
| |
priority:int (default = 1 ) — (default = 1)加载的优先级,优先级高的优先加载。有0-4共5个优先级,0最高,4最低。
| |
cache:Boolean (default = true ) — 是否缓存加载结果。
| |
group:String (default = null ) — 分组,方便对资源进行管理。
| |
ignoreCache:Boolean (default = false ) — 是否忽略缓存,强制重新加载。
|
LoaderManager — 此 LoaderManager 对象本身。
|
setGroup | () | method |
public function setGroup(url:String, group:String):void
设置资源分组。
Parameters
url:String — 资源地址。
| |
group:String — 分组名
|
complete | Event |
error | Event |