发布Laya项目时自动建立动画Ani与atlas的关联(JSON)

每次我们加载ani文件需先加载对应的图集文件,由于项目比较大资源较多,所以首先想到的是建立一个ani到图集的对应文件。
这种关系的建立有两种方法{
1)建表导出JSON
2)用工具自动生成对应表。
显然第二种比较适合实际项目,研究了一下Laya编辑器的实现,其实Laya编辑器就像是一个chrome浏览器,编辑器里面的多数功能都是用JS实现的。


发布Laya项目时自动建立动画Ani与atlas的关联(JSON)_第1张图片
捕获.PNG

首先把Laya切换到编辑模式,点开发人员工具,熟悉的chrome调试界面出来了。


发布Laya项目时自动建立动画Ani与atlas的关联(JSON)_第2张图片
捕获2.PNG
发布Laya项目时自动建立动画Ani与atlas的关联(JSON)_第3张图片
捕获3.PNG

一步步跟找到打包的入口函数
需要修改代码的文件路径是:\LayaAirIDE_beta\resources\app\out\vs\layaEditor\h5\layabuilder.max.js
代码的主要功能是:
先收集所有ani文件的图集。

    /**收集Ani引用的图集 by ritei*/
    CodeManager.collectAniAtlas=function(obj,atlasDic){
        if(obj.animations){
            var a=0,n=0,k=0,s=0,alen=0,nlen=0,slen=0;
            var animations=obj.animations;
            alen=animations.length;
            for(a=0;a0){
                    nlen = nodes.length;
                    for(n=0;n0){
                                slen = skin.length;
                                for(s=0;s

最后输出到json文件

        // 输出动画图集映射文件 by ritei
        var tarPath;
        tarPath = FileManager.getPath(FileManager.getWorkPath(ProjectSetting.asynResExportPath),"atlasMap.json");
        FileManager.createJSONFile(tarPath,aniAtlasDic);

回到编辑器
我的资源目录是这样的:


发布Laya项目时自动建立动画Ani与atlas的关联(JSON)_第4张图片
捕获5.PNG

点发布,会在bin目录下生成atlasMap.json文件
里面的内容:


捕获4.PNG

你可能感兴趣的:(发布Laya项目时自动建立动画Ani与atlas的关联(JSON))