昨日因个人原因没能及时更新,今天补上!!!!
上接上一篇文章
三:资源配置
1: 在onConfigComplete的最后,有一行加载资源组的代码: RES.loadGroup("preload");
loadGroup 就是用来加载资源组的。
2:资源加载结束 :资源加载结束后,我们需要判断所加载的资源是哪个资源组的,所以在onResourceLoadComplete中的if条件中就是需要加载的资源组。
3:Egret将会加载的xxxx资源组,并且程序执行到createGameScene时,资源组已经加载完成。
四:资源配置规则:
配置文件中的”resource”我们可以视为资源库,当前游戏使用到的资源都可以放到这里。其中以资源为单位分别列出。每一项资源单位都包含三个属性:
name:表示这个资源的唯一标识符。注意资源比较多的项目应确定一套命名规则,避免不同资源命名之间重复或太接近而易混淆。
type:表示资源类型。紧跟着会进一步讲解其含义及取值规则。
url:表示当前资源文件的路径。通常我们约定配置类型的资源置于config子目录下;其他类型置于assets子目录下。
每个”resource”单位中的type,是Egret约定好的若干类型,最常用的有以下类型:
image:表示各种常见的图片类型,包括PNG和JPG格式,载入后将解析为egret.Texture对象;
text:表示文本类型,即文本文件,载入后将解析为string对象;
json:也是一种文本类型,不过内容是json格式的,载入后将直接解析为json对象;
很多情况下,我们在某种游戏场合,需要同时加载若干资源,用以准备后续的游戏流程显示。Egret已经考虑到这种情况,使得我们可以将若干项资源定义为一个资源组。需要时,只需加载这个资源组即可。 “groups
”是预加载资源组的配置,每项是一个资源组。 每一个资源组须包含两个属性:
name:表示资源组的组名
keys:表示这个资源组包含哪些资源,里面的逗号分隔的每一个字符串,都与”resource”下的资源name对应。
五:加载资源代码分析:
加载资源的过程整体分为两部分,第一步首先加载资源配置清单,第二步就是加载资源。
在onAddToStage方法中,有代码:
RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE,
this.onConfigComplete, this); RES.loadConfig("resource/resource.json",
"resource/");
这是专门用来加载资源配置的代码。首先添加一个针对CONFIG_COMPLETE事件的侦听,然后执行加载。 配置加载完成时,即会执行onConfigComplete方法。
<