使用一个MovieClip需要两个文件,1纹理,2JSON文件
1.借助Egret荣誉出品 Texture Merger 工具。此时我使用的是一个Gif图片,工具则会导出一张合并序列图的图片和对应配置的JSON文件。
(JSON文件实际是一个描述该合并序列图的配置文件)
序列图:
2.{"mc":{
"attack":{ //attack 该movieClip的名字
"frameRate":60,
"frames":[
{
"res":"D4F31F9C",
"x":0,
"y":1,
"duration":5
},
{
"res":"7370925C",
"x":17,
"y":0,
"duration":7
},
{
"res":"C5D7EC06",
"x":17,
"y":13,
"duration":5
},
{
"res":"5B19C3D2",
"x":17,
"y":13,
"duration":5
}
]
}},
"res":{
"D4F31F9C":{"x":1,"y":220,"w":109,"h":96},
"7370925C":{"x":1,"y":1,"w":170,"h":114},
"C5D7EC06":{"x":1,"y":117,"w":166,"h":101},
"5B19C3D2":{"x":112,"y":220,"w":101,"h":100}
}}
3.在加载配置声明
{"name":"kongming_img","type":"image","url":"assets/roles/kongming.png"},
{"name":"kongming_json","type":"json","url":"assets/roles/kongming.json"}
并且建立一个Group
{"name":"kongming","keys":"kongming_img,kongming_json"}
4. 加载config和加载group
RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE, this.onConfigComplete, this);
RES.loadConfig("resource/resource.json", "resource/");
RES.removeEventListener(RES.ResourceEvent.CONFIG_COMPLETE, this.onConfigComplete, this);
RES.addEventListener(RES.ResourceEvent.GROUP_COMPLETE, this.onResourceLoadComplete, this);
RES.loadGroup("kongming");
5.代码实现
var kongmingJson = RES.getRes("kongming_json");
var kongmingImg = RES.getRes("kongming_img");
var mcFactory = new egret.MovieClipDataFactory(kongmingJson,kongmingImg);
var kongmingMC = new egret.MovieClip(mcFactory.generateMovieClipData());
this.addChild(kongmingMC);
kongmingMC.gotoAndPlay(0,999999);