-
Notifications
You must be signed in to change notification settings - Fork 796
Egret SpriteSheet Specification
dom edited this page Jul 18, 2014
·
3 revisions
SpriteSheet是由一组小图拼接成的大图,通常在GPU处理纹理的情况下,使用这种方式能显著提高性能。一个标准的SpriteSheet包含两个文件:拼接后的大位图和原始小图的位置信息配置文件。以下是一个SpriteSheet配置文件的示例:
{
"file":"icons.png",
"frames":
{
"activity_1":{"x":158,"y":313,"w":75,"h":75,"offX":0,"offY":0,"sourceW":75,"sourceH":75},
"activity_10":{"x":239,"y":2,"w":76,"h":77,"offX":0,"offY":0,"sourceW":76,"sourceH":77}
}
}
**"file"**属性表示这个配置文件对应的大图文件名。通常跟该配置文件放在同一级目录下。
**"frames"**属性下以键值对的形式示这张大图包含的小图列表。例如这个配置文件里包含名称为"activity_1"和"activity_10"的两张小图。
接下来说明每个小图配置信息的具体含义,前四个属性表示小图的有效像素区域在大图中的位置和尺寸:
- x:小图的有效像素区域在大图中的起始坐标x
- y:小图的有效像素区域在大图中的起始坐标y
- w:小图的有效像素区域在大图中的宽度
- h:小图的有效像素区域在大图中的高度
后四个参数是可选的。由于外部工具合图过程中,有可能会剪裁小图的透明边界。此时就需要后四个参数来记录原始图标的起始偏移量和尺寸。
- offX:原始图片的左上角非透明区域的起始坐标x
- offY:原始图片的左上角非透明区域的起始坐标y
- sourceW:原始图片的宽度
- sourceH:原始图片的高度
若合图过程中没有剪裁透明边界或原始小图不包含透明边界,则offX,offY的值都为0.sourceW,sourceH就等于w,h的值。
如果您有任何疑问或建议,欢迎访问 Egret开发者论坛 和 Egret 官方团队讨论