找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 66|回复: 0

RES.globalFunction

[复制链接]

13

主题

0

回帖

31

积分

管理员

积分
31
发表于 2025-9-30 11:18:21 | 显示全部楼层 |阅读模式 IP:安徽
  1. 公共方法
  2. 方法
  3. addEventListener(type:string,listener:(event:egret.Event)=>void,thisObject:any,useCapture:boolean,priority:number):void
  4. 添加事件侦听器,参考 ResourceEvent 定义的常量
  5. createGroup(name:string,keys:Array<string>,override:boolean):boolean
  6. 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效
  7. destroyRes(name:string,force:boolean):boolean
  8. 销毁单个资源文件或一组资源的缓存数据,返回是否删除成功
  9. getGroupByName(name:string):Array<RES.ResourceItem>
  10. 根据组名获取组加载项列表
  11. getRes(key:string):any
  12. 同步方式获取缓存的已经加载成功的资源
  13. getResAsync(key:string,compFunc:GetResAsyncCallback,thisObject:any):Promise<any>
  14. 异步方式获取配置里的资源
  15. getResByUrl(url:string,compFunc:Function,thisObject:any,type:string):Promise<any>
  16. 通过完整URL方式获取外部资源
  17. getResourceInfo(path:string):RES.File
  18. getVersionController():RES.VersionController
  19. 获得版本控制器.
  20. getVirtualUrl(url)
  21. 转换加载资源的地址(经过版本控制器的转换)
  22. hasRes(key:string):boolean
  23. 检查配置文件里是否含有指定的资源
  24. isGroupLoaded(name:string):boolean
  25. 检查某个资源组是否已经加载完成
  26. loadConfig(url:string,resourceRoot:string):Promise<void>
  27. 加载配置文件并解析
  28. loadGroup(name:string,priority:number,reporter:RES.PromiseTaskReporter):Promise<void>
  29. 根据组名加载一组资源
  30. nameSelector(url):string
  31. 将资源的文件名称转换为项目中所使用的Key值
  32. profile()
  33. 打印图片所占内存
  34. registerAnalyzer(type:string,analyzerClass:any)
  35. 以类定义为值进行映射注入,已废弃
  36. registerVersionController(vcs:RES.VersionController):void
  37. 注册版本控制器,通过RES模块加载资源时会从版本控制器获取真实url
  38. removeEventListener(type:string,listener:(event:egret.Event)=>void,thisObject:any,useCapture:boolean):void
  39. 移除事件侦听器,参考ResourceEvent定义的常量
  40. setIsCompatible(value:boolean)
  41. 设置是否为兼容模式 当值为true时,assetsManager会以Res的设计输出,当为false时候,所有的加载资源都会以promise的方式返回默认是false,以严格assetsManager方式运行
  42. setMaxLoadingThread(thread:number):void
  43. 设置最大并发加载线程数量,默认值是 4
  44. setMaxRetryTimes(retry:number):void
  45. 设置资源加载失败时的重试次数,默认值是 3
  46. typeSelector(path:string):string
  47. 获取文件的读取类型在使用getResByUrl没有指定读取文件的类型,会根据这个方法寻找对应的类型没有查找到的文件类型以二进制格式默认加载
  48. 方法详细信息
  49. addEventListener()
  50. public addEventListener(type:string,listener:(event:egret.Event)=>void,thisObject:any,useCapture:boolean,priority:number):void

  51. 添加事件侦听器,参考 ResourceEvent 定义的常量。

  52. 支持版本:Egret 5.2
  53. 运行平台:Web,Native
  54. 参数
  55. type:string - 事件的类型。
  56. listener:(event:egret.Event)=>void - 处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如下面的示例所示: function(evt:Event):void 函数可以有任何名称。
  57. thisObject:any - 侦听函数绑定的 this 对象。
  58. useCapture:boolean - 确定侦听器是运行于捕获阶段还是运行于目标和冒泡阶段。如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。如果 useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false。
  59. priority:number - 事件侦听器的优先级。优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。
  60. createGroup()
  61. public createGroup(name:string,keys:Array<string>,override:boolean):boolean

  62. 创建自定义的加载资源组,注意:此方法仅在资源配置文件加载完成后执行才有效。
  63. 可以监听 ResourceEvent.CONFIG_COMPLETE 事件来确认配置加载完成。

  64. 支持版本:Egret 5.2

  65. 运行平台:Web,Native

  66. 参数

  67. name:string - 要创建的加载资源组的组名。
  68. keys:Array<string> - 要包含的键名列表,key 对应配置文件里的 name 属性或 sbuKeys 属性的一项或一个资源组名。
  69. override:boolean - 是否覆盖已经存在的同名资源组,默认 false。
  70. 返回:是否创建成功。

  71. destroyRes()
  72. public destroyRes(name:string,force:boolean):boolean

  73. 销毁单个资源文件或一组资源的缓存数据,返回是否删除成功。

  74. 支持版本:Egret 5.2

  75. 运行平台:Web,Native

  76. 参数

  77. name:string - 配置文件中加载项的name属性或资源组名。
  78. force:boolean - 销毁一个资源组时其他资源组有同样资源情况资源是否会被删除,默认值 true。
  79. 返回:是否销毁成功。

  80. getGroupByName()
  81. public getGroupByName(name:string):Array<RES.ResourceItem>

  82. 根据组名获取组加载项列表。

  83. 支持版本:Egret 5.2

  84. 运行平台:Web,Native

  85. 参数

  86. name:string - 组名。
  87. 返回:加载项列表。

  88. getRes()
  89. public getRes(key:string):any

  90. 同步方式获取缓存的已经加载成功的资源。
  91. 资源类型和对应的返回值类型关系如下:
  92. RES.ResourceItem.TYPE_BIN : ArrayBuffer JavaScript 原生对象
  93. RES.ResourceItem.TYPE_IMAGE : img Html 对象,或者 egret.BitmapData 接口。
  94. RES.ResourceItem.TYPE_JSON : Object
  95. RES.ResourceItem.TYPE_SHEET : Object
  96. 1. 如果传入的参数是整个 SpriteSheet 的名称返回的是 {"image1":Texture,"image2":Texture} 这样的格式。
  97. 2. 如果传入的是 "sheet.image1",返回的是单个资源。
  98. 3. 如果传入的是 "image1" 单个资源的名称,返回的是单个资源。但是如果有两张 SpriteSheet 中有单个图片资源名称相同,返回的是后加载的那个图片资源。
  99. RES.ResourceItem.TYPE_SOUND : HtmlSound Html 对象
  100. RES.ResourceItem.TYPE_TEXT : string

  101. 支持版本:Egret 5.2
  102. 运行平台:Web,Native
  103. 参数
  104. key:string - 对应配置文件里的 name 属性或 subKeys 属性的一项。
  105. getResAsync()
  106. public getResAsync(key:string,compFunc:GetResAsyncCallback,thisObject:any):Promise<any>

  107. 异步方式获取配置里的资源。只要是配置文件里存在的资源,都可以通过异步方式获取。

  108. 支持版本:Egret 5.2
  109. 运行平台:Web,Native
  110. 参数
  111. key:string - 对应配置文件里的 name 属性或 sbuKeys 属性的一项。
  112. compFunc:GetResAsyncCallback - 回调函数。示例:compFunc(data,key):void。
  113. thisObject:any - 回调函数的 this 引用。
  114.     //Example:
  115.     以下代码演示了如何通过getResAsync加载资源
  116.     RES.getResAsync("resource/example.json");  //只传入key值获取资源
  117.     RES.getResAsync("resource/example.json",  (data)  =>  {
  118.     console.log(data);
  119.     },  this);  //传入key值,compFunc和thisObject获取资源,后两个必须同时出现

  120. getResByUrl()
  121. public getResByUrl(url:string,compFunc:Function,thisObject:any,type:string):Promise<any>

  122. 通过完整URL方式获取外部资源。

  123. 支持版本:Egret 5.2
  124. 运行平台:Web,Native
  125. 参数
  126. url:string - 要加载文件的外部路径。
  127. compFunc:Function - 回调函数。示例:compFunc(data,url):void。
  128. thisObject:any - 回调函数的 this 引用。
  129. type:string - 文件类型(可选)。请使用 ResourceItem 类中定义的静态常量。若不设置将根据文件扩展名生成。
  130. getResourceInfo()
  131. public getResourceInfo(path:string):RES.File|null

  132. 通过文件路径获取资源信息

  133. 支持版本:Egret 5.2
  134. 运行平台:Web,Native
  135. 参数
  136. path:string - 文件路径
  137. getVersionController()
  138. public getVersionController():RES.VersionController

  139. 获得版本控制器.

  140. 支持版本:Egret 5.2
  141. 运行平台:Web,Native
  142. getVirtualUrl()
  143. public getVirtualUrl(url)

  144. 转换加载资源的地址(经过版本控制器的转换)

  145. 支持版本:Egret 5.2

  146. 运行平台:Web,Native

  147. 参数

  148. url - 原始资源的路径
  149. 返回:转换后的地址

  150. hasRes()
  151. public hasRes(key:string):boolean

  152. 检查配置文件里是否含有指定的资源。

  153. 支持版本:Egret 5.2

  154. 运行平台:Web,Native

  155. 参数

  156. key:string - 对应配置文件里的 name 属性或 sbuKeys 属性的一项。
  157. 返回:是否拥有指定资源

  158. isGroupLoaded()
  159. public isGroupLoaded(name:string):boolean

  160. 检查某个资源组是否已经加载完成。

  161. 支持版本:Egret 5.2

  162. 运行平台:Web,Native

  163. 参数

  164. name:string - 组名。
  165. 返回:是否正在加载。

  166. loadConfig()
  167. public loadConfig(url:string,resourceRoot:string):Promise<void>

  168. 加载配置文件并解析。

  169. 支持版本:Egret 5.2

  170. 运行平台:Web,Native

  171. 参数

  172. url:string - 资源配置的url地址
  173. resourceRoot:string - 资源配置的根地址
  174. 返回:Promise

  175. loadGroup()
  176. public loadGroup(name:string,priority:number,reporter:RES.PromiseTaskReporter):Promise<void>

  177. 根据组名加载一组资源。

  178. 支持版本:Egret 5.2
  179. 运行平台:Web,Native
  180. 参数
  181. name:string - 要加载资源组的组名。
  182. priority:number - 加载优先级,可以为负数,默认值为 0。低优先级的组必须等待高优先级组完全加载结束才能开始,同一优先级的组会同时加载。
  183. reporter:RES.PromiseTaskReporter - 资源组的加载进度提示
  184. nameSelector()
  185. public nameSelector(url):string

  186. 将资源的文件名称转换为项目中所使用的Key值。在加载合并图集的时候使用,例如图集加载A_json,需要加载对应A_png,这里就是转换的机制一般项目中无需更改,只有没有使用默认的key和文件对应的需要修改

  187. 支持版本:Egret 5.2

  188. 运行平台:Web,Native

  189. 参数

  190. url - 资源名称。
  191. 返回:项目中所用的key值

  192. profile()
  193. public profile()

  194. 打印图片所占内存

  195. 支持版本:Egret 5.2
  196. 运行平台:Web,Native
  197. registerAnalyzer()
  198. public registerAnalyzer(type:string,analyzerClass:any)

  199. 以类定义为值进行映射注入,已废弃。

  200. 支持版本:all
  201. 运行平台:Web,Native
  202. 参数
  203. type:string
  204. analyzerClass:any
  205. registerVersionController()
  206. public registerVersionController(vcs:RES.VersionController):void

  207. 注册版本控制器,通过RES模块加载资源时会从版本控制器获取真实url

  208. 支持版本:Egret 5.2
  209. 运行平台:Web,Native
  210. 参数
  211. vcs:RES.VersionController - 注入的版本控制器。
  212. removeEventListener()
  213. public removeEventListener(type:string,listener:(event:egret.Event)=>void,thisObject:any,useCapture:boolean):void

  214. 移除事件侦听器,参考ResourceEvent定义的常量。

  215. 支持版本:Egret 5.2
  216. 运行平台:Web,Native
  217. 参数
  218. type:string - 事件名。
  219. listener:(event:egret.Event)=>void - 侦听函数。
  220. thisObject:any - 侦听函数绑定的this对象。
  221. useCapture:boolean - 是否使用捕获,这个属性只在显示列表中生效。
  222. setIsCompatible()
  223. public setIsCompatible(value:boolean)

  224. 设置是否为兼容模式 当值为true时,assetsManager会以Res的设计输出,当为false时候,所有的加载资源都会以promise的方式返回默认是false,以严格assetsManager方式运行

  225. 支持版本:Egret 5.2.9
  226. 运行平台:Web,Native
  227. 参数
  228. value:boolean
  229. setMaxLoadingThread()
  230. public setMaxLoadingThread(thread:number):void

  231. 设置最大并发加载线程数量,默认值是 4。

  232. 支持版本:Egret 5.2
  233. 运行平台:Web,Native
  234. 参数
  235. thread:number - 要设置的并发加载数。
  236. setMaxRetryTimes()
  237. public setMaxRetryTimes(retry:number):void

  238. 设置资源加载失败时的重试次数,默认值是 3。

  239. 支持版本:Egret 5.2
  240. 运行平台:Web,Native
  241. 参数
  242. retry:number - 要设置的重试次数。
  243. //Example:
  244. /*
  245. * 下面的示例使用 ResourceExample 类展示使用RES模块加载资源过程。
  246. */
  247. class  ResourceExample  extends  egret.DisplayObjectContainer  {
  248.   public  constructor()  {
  249.     super();
  250.     this.initStateText();
  251.     //添加资源配置加载完成事件
  252.     RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE,  this.onConfigComplete,  this);
  253.     //加载配置
  254.     this.trace("开始加载配置文件");
  255.     RES.loadConfig("resource/resource.json",  "resource/assets/");
  256.   }
  257.   /*
  258. * 配置文件加载完成,开始预加载preload资源组。
  259. */
  260.   private  onConfigComplete(event:  RES.ResourceEvent):  void  {
  261.     this.trace("配置文件加载成功");
  262.     RES.removeEventListener(RES.ResourceEvent.CONFIG_COMPLETE,  this.onConfigComplete,  this);
  263.     //添加资源组加载完成事件
  264.     RES.addEventListener(RES.ResourceEvent.GROUP_COMPLETE,  this.onResourceLoadComplete,  this);
  265.     //添加资源组加载失败事件
  266.     RES.addEventListener(RES.ResourceEvent.GROUP_LOAD_ERROR,  this.onResourceLoadError,  this);
  267.     //添加资源加载失败事件
  268.     RES.addEventListener(RES.ResourceEvent.ITEM_LOAD_ERROR,  this.onResourceItemLoadError,  this);
  269.     //添加资源组加载进度事件
  270.     RES.addEventListener(RES.ResourceEvent.GROUP_PROGRESS,  this.onResourceProgress,  this);
  271.     //开始加载 preload 资源组
  272.     this.trace("开始加载preload组");
  273.     RES.loadGroup("preload");
  274.   }
  275.   /*
  276. * preload资源组加载完成
  277. */
  278.   private  onResourceLoadComplete(event:  RES.ResourceEvent):  void  {
  279.     if  (event.groupName  ==  "preload")  {
  280.         RES.removeEventListener(RES.ResourceEvent.GROUP_COMPLETE,  this.onResourceLoadComplete,  this);
  281.         RES.removeEventListener(RES.ResourceEvent.GROUP_LOAD_ERROR,  this.onResourceLoadError,  this);
  282.         RES.removeEventListener(RES.ResourceEvent.GROUP_PROGRESS,  this.onResourceProgress,  this);
  283.         this.trace("preload组加载完成");
  284.         this.trace("开始加载一个不存在的资源");
  285.         RES.getResAsync("nothing",  function  ()  {  },  this);
  286.     }
  287.   }
  288.   /*
  289. * preload资源组加载进度
  290. * Loading process of preload resource group
  291. */
  292.   private  onResourceProgress(event:  RES.ResourceEvent):  void  {
  293.     if  (event.groupName  ==  "preload")  {
  294.         this.trace("preload资源加载进度 : "  + event.itemsLoaded  +  " / "  + event.itemsTotal);
  295.     }
  296.   }
  297.   /*
  298. * 资源组加载出错
  299. */
  300.   private  onResourceLoadError(event:  RES.ResourceEvent):  void  {
  301.     this.trace("preload组加载失败");
  302.     //忽略加载失败的项目
  303.     this.onResourceLoadComplete(event);
  304.   }
  305.   /*
  306. * 资源加载出错
  307. */
  308.   private  onResourceItemLoadError(event:  RES.ResourceEvent):  void  {
  309.     this.trace("项目加载失败,url : "  + event.resItem.url);
  310.   }
  311.   private stateText: egret.TextField;
  312.   private text:  string  =  "TestResource";
  313.   private  initStateText():  void  {
  314.     this.stateText  =  new  egret.TextField();
  315.     this.stateText.size  =  22;
  316.     this.stateText.text  =  this.text;
  317.     this.stateText.width  =  480;
  318.     this.addChild(this.stateText);
  319.   }
  320.   private  trace(msg:  any):  void  {
  321.     this.text  =  this.text  +  "\n"  + msg;
  322.     this.stateText.text  =  this.text;
  323.     egret.log(msg);
  324.   }
  325. }

  326. typeSelector()
  327. public typeSelector(path:string):string

  328. 获取文件的读取类型在使用getResByUrl没有指定读取文件的类型,会根据这个方法寻找对应的类型没有查找到的文件类型以二进制格式默认加载

  329. 支持版本:Egret 5.2

  330. 运行平台:Web,Native

  331. 参数

  332. path:string - 文件路径
  333. 返回:读取文件所用的Processor类型
复制代码


易找素材网-素材不好找?易找帮你找!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表