37 lines
1.0 KiB
Markdown
37 lines
1.0 KiB
Markdown
|
打开资源配置文件 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:string, analyzerClass:any)
|
|||
|
~~~
|
|||
|
|
|||
|
比如我们要解析一个自定义的 type 为 demo 类型的文件,解析类是一个你自己写的 DemoAnalyzer 类,那么我们只需要像下面这么写就这可以了。
|
|||
|
|
|||
|
~~~
|
|||
|
RES.registerAnalyzer("demo", DemoAnalyzer);
|
|||
|
~~~
|
|||
|
|
|||
|
~~~
|
|||
|
2.4之前的版本中对应的方法为:
|
|||
|
egret.Injector.mapClass(RES.AnalyzerBase, DemoAnalyzer, "demo")
|
|||
|
~~~
|
|||
|
|
|||
|
当RES加载完文件后,发现它的类型是 demo,就会调用你的 DemoAnalyzer 方法来解析它。
|
|||
|
|
|||
|
注意,这种方式会替换掉默认的内置解析器,所以如果没有特殊需求,尽量不要替换默认的类型。
|
|||
|
|
|||
|
默认的内置解析类型可以在 RES.ResourceItem 中找到。
|