跳到主要内容

扩展资源加载模块文件解析器

打开资源配置文件 resource.json ,你可以看到里面的资源文件都有一个 type 类型,

{
"name":"mc_png",
"type":"image",
"url":"assets/mc.png"
},
{
"name":"big_json",
"type":"json",
"url":"assets/big.json"
}

我们可以根据 type 类型自定义它的解析器。 使用下面这个方法

RES.registerAnalyzer(type, analyzerClass);

比如我们要解析一个自定义的 type 为 demo 类型的文件,解析类是一个你自己写的 DemoAnalyzer 类,那么我们只需要像下面这么写就这可以了。

RES.registerAnalyzer("demo",  DemoAnalyzer);
//2.4之前的版本中对应的方法为:
egret.Injector.mapClass(RES.AnalyzerBase, DemoAnalyzer, "demo");

当RES加载完文件后,发现它的类型是 demo,就会调用你的 DemoAnalyzer 方法来解析它。

注意,这种方式会替换掉默认的内置解析器,所以如果没有特殊需求,尽量不要替换默认的类型。

默认的内置解析类型可以在 RES.ResourceItem 中找到。