加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash中导出在Cocos2d-x中使用的精灵表

发布时间:2020-12-15 17:32:54 所属栏目:百科 来源:网络整理
导读:Flash中导出可在Cocos2d-x中使用的精灵表 1.打开fla文件,在库中选择要导出精灵表的元件,右键——生成Sprite表 2.选择数据格式为Cocos2D v2 3.导出文件如下: plist文件 导出的文件可在程序里面直接使用,但有个问题,可以看到plist文件中动画帧的key是以“


Flash中导出可在Cocos2d-x中使用的精灵表



1.打开fla文件,在库中选择要导出精灵表的元件,右键——生成Sprite表



2.选择数据格式为Cocos2D v2



3.导出文件如下:


plist文件



导出的文件可在程序里面直接使用,但有个问题,可以看到plist文件中动画帧的key是以“元件名称”+序号(前面补0)组成的,如果这样直接在程序里面使用的话,在创建动画

帧的时候需要判断序号的位数,并进行补0的操作,这样效率就不高了。


如果能让导出的plist文件中key字段的命名中序号不需要补0,这样在程序中使用就更方便了。这就需要修改flash中导出精灵表的action script脚本了。




修改导出文件命名规范


在Flash的安装目录下的这个路径:AdobeAdobe Flash CS6CommonConfigurationSprite Sheet Plugins,就是存放导出精灵表相关的脚本。脚本的命名就是对应数据格式的。所以要修改的是cocos2dv2.plugin.jsfl




在函数frameExport中就是导出每一帧的处理,我先把这部分注释解除掉,再做一次导出操作,看看输出。


控制台输出如下:

==== frameExport
skill-1-0001 ? //frame.id
69
0
69
56
0
0
69
56
false
false
1 ? ? ? ? ? ? //frame.frameNumber
skill-1- ? ? ?//frame.symbolName
undefined
undefined
---- frameExport


在脚本中默认是使用frame.id作为动画帧key字段的值,但如下使用“frame.symbolName +?frame.frameNumber”拼接的字符串作为值会更方便在程序里面使用。

所以将以下代码:

var s ='ttt<key>' + frame.id + '</key>n';

修改如下:

var s ='ttt<key>' + frame.symbolName + frame.frameNumber + '</key>n';


重新导出后的plist文件,key值的命名如下:




修改后的代码如下:



测试工程svn地址(可用svn客户端checkout到本地,是一个Cocos Code IDE的工程):http://code.taobao.org/svn/flash_sprite_sheet_cocos2dx/trunk


运行效果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读