Packagelaya.net
Classpublic class LoaderManager
InheritanceLoaderManager Inheritance EventDispatcher Inheritance Object

LoaderManager 类用于用于批量加载资源。此类是单例,不要手动实例化此类,请通过Laya.loader访问。

全部队列加载完成,会派发 Event.COMPLETE 事件;如果队列中任意一个加载失败,会派发 Event.ERROR 事件,事件回调参数值为加载出错的资源地址。

LoaderManager 类提供了以下几种功能: 多线程:默认5个加载线程,可以通过maxLoader属性修改线程数量; 多优先级:有0-4共5个优先级,优先级高的优先加载。0最高,4最低; 重复过滤:自动过滤重复加载(不会有多个相同地址的资源同时加载)以及复用缓存资源,防止重复加载; 错误重试:资源加载失败后,会重试加载(以最低优先级插入加载队列),retryNum设定加载失败后重试次数,retryDelay设定加载重试的时间间隔。

See also

laya.net.Loader


Public Properties
 PropertyDefined By
  maxLoader : int = 5
最大下载线程,默认为5个
LoaderManager
  retryDelay : int = 0
延迟时间多久再进行错误重试,默认立即重试
LoaderManager
  retryNum : int = 1
加载出错后的重试次数,默认重试一次
LoaderManager
Public Methods
 MethodDefined 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
  
清理当前未完成的加载,所有未加载的内容全部停止加载。
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
 Inherited
event(type:String, data:* = null):Boolean
派发事件。
EventDispatcher
  
getRes(url:String):*
获取指定资源地址的资源。
LoaderManager
 Inherited
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
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
 Inherited
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
EventDispatcher
 Inherited
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
使用 EventDispatcher 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知,此侦听事件响应一次后自动移除。
EventDispatcher
  
setGroup(url:String, group:String):void
设置资源分组。
LoaderManager
Events
 Event Summary Defined By
  所有资源加载完成时调度。LoaderManager
  任何资源加载出错时调度。LoaderManager
Property Detail
maxLoaderproperty
public var maxLoader:int = 5

最大下载线程,默认为5个

retryDelayproperty 
public var retryDelay:int = 0

延迟时间多久再进行错误重试,默认立即重试

retryNumproperty 
public var retryNum:int = 1

加载出错后的重试次数,默认重试一次

Constructor Detail
LoaderManager()Constructor
public function LoaderManager()

创建一个新的 LoaderManager 实例。

注意:请使用Laya.loader加载资源,这是一个单例,不要手动实例化此类,否则会导致不可预料的问题。

Method Detail
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) — 是否缓存加载的资源。

Returns
* — 如果url为数组,返回true;否则返回指定的资源类对象。
getRes()method 
public function getRes(url:String):*

获取指定资源地址的资源。

Parameters

url:String — 资源地址。

Returns
* — 返回资源。
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) — 是否忽略缓存,强制重新加载。

Returns
LoaderManager — 此 LoaderManager 对象本身。
setGroup()method 
public function setGroup(url:String, group:String):void

设置资源分组。

Parameters

url:String — 资源地址。
 
group:String — 分组名

Event Detail
complete Event
Event Object Type: laya.events.Event
Event.type property = Event.COMPLETE

所有资源加载完成时调度。

error Event  
Event Object Type: laya.events.Event
Event.type property = Event.ERROR

任何资源加载出错时调度。