-
Notifications
You must be signed in to change notification settings - Fork 8
导出的数据格式说明
导出的数据如下所示(下列数据为了看起来方便,进行过格式化)
[
[
[334, 334, 0, 0], // 索引0的图片数据
[79, 28, 334, 0], // 索引1的图片数据
[79, 28, 334, 28], // 索引2的图片数据
[79, 28, 334, 56], // 索引3的图片数据
[79, 28, 334, 84] // 索引4的图片数据
],
{
"3" : [
["ui.btn.Btn1"], //控件的类名字数组
[
[//索引0的控件数据,既ui.btn.Btn1的数据
0,
[0, [0, 0, 0, 79, 28, 0], 1],
[0, [0, 0, 0, 79, 28, 0], 2],
[0, [0, 0, 0, 79, 28, 0], 3],
[0, [0, 0, 0, 79, 28, 0], 4]
]
],
[
[0, 0, 334, 334]//索引0的控件,原始尺寸数据,[0] x,[1] y,[2] witdh,[3] height
]
]
}
]
此示例为samples/sample1/lib.fla执行脚本后导出的数据samples/sample1/skin/lib/s.json格式化后的显示结果
sampl1的快速通道
上例中的数组,有两块数据
Root
├[0]: [Array] (图片数据)
│ ├[0]:[Array]
│ ├[1]:[Array]
│ ├[2]:[Array]
│ ├[3]:[Array]
│ └[4]:[Array]
└[1]: [Object] (控件数据)
└"3":[Array]
├[0]:[Array]
└[1]:[Array]
示例中,会生成下图
lib.fla导出的元件中,引用到了5张位图
索引0 中的数据均为4个整数的数组,如: ''[79, 28, 334, 0]''
分别代表 [0]位图的宽度(上例中79),[1]位图的高度(上例中28),[2]位图在导出纹理中x的偏移(上例中334),[3]位图在导出纹理中y的偏移(上例中0)
控件数据是Key-Value的形式,
Key代表控件类型,对应常量类 ExportType上例中,控件类型为"3"
Value为控件数据,不同类型的控件,数据的数据结构不同
控件也好,面板也好,最终都会以可视对象实例(Instance)展示在元件中
所以我定义了一个大的结构,
[0]:类型标识ExportType
[1]:通用数据
[2]:类型特有数据
[3]:所在的库 (0:当前库,1:lib库,字符串:对应字符串的库)
示例:
''[0, [0, 0, 0, 79, 28, 0], 1]''
[0]:如实例(Instance)名称
[1]:在当前容器的相对坐标x
[2]:在当前容器的相对坐标y
[3]:宽度
[4]:高度
[5]:旋转角度
示例:
''[0, 0, 0, 79, 28, 0]''
如果类型为位图(BitmapInstance)或者是控件(能在控件注册的类型中找到) 则此位为数值类型,记录在位图集合或者控件中的索引号
[0]:文本框类型 (0:dynamic, 1:dynamic, 2:input) 不允许使用静态文本框
[1]:字体
[2]:对齐 (0:left,1:center,2:right,3:justify)
[3]:文字颜色
[4]:文字大小
[5]:字间距
[6]:是否加粗
[7]:是否为斜体
[8]:描边数据(数组) 通过判断文本框是否加了GlowFilter,只支持GlowFilter当描边处理,其他Filter不做处理
├[0]:描边颜色
└[1]:描边宽度
如果是容器类型,会再按上述规则,包在一个数组中
0:当前库
1:lib库
字符串:对应字符串的库