Skip to content

Egret SpriteSheet Specification

dom edited this page Jul 18, 2014 · 3 revisions

Egret SpriteSheet 文件格式规范

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的值。