Description of the plist file format used for sprites sheets in cocos2d and cocos2d-x
The top level layout of the file consists of 2 <dict>
entries:
frames
- containing the sprite framesmetadata
- texture size, format, texture file name<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>sprite-name-1.png</key>
<dict>
... sprite data ...
</dict>
<key>sprite-name-2.png</key>
<dict>
... sprite data ...
</dict>
</dict>
<key>metadata</key>
<dict>
... meta data ...
</dict>
</dict>
</plist>
frames
is a dictionary containing the sprite names as key, the sprite values as <dict>
.Cocos2d-x assumes sprites to be built from rectangular texture parts by default.
If triangles
, vertices
and verticesUV
is found inside the
plist file polygon sprite are used instead of rectangles.
Polygon sprites can be used to increase rendering performance — especially when the sprite have many transparent pixels.
See Performance optimization for cocos2d-x using polygon sprite meshes for more details.
Anchor point can be added to a sprite to overwrite the default pivot point location in cocos2d-x. The default location is the sprite center (0.5/0.5).
<key>sprite-name-1.png</key>
<dict>
<key>aliases</key>
<array/>
<key>spriteOffset</key>
<string>{0.5,-37.5}</string>
<key>spriteSize</key>
<string>{251,181}</string>
<key>spriteSourceSize</key>
<string>{256,256}</string>
<key>textureRect</key>
<string>{{252, 1},{251, 181}}</string>
<key>textureRotated</key>
<false/>
<key>triangles</key>
<string>1 4 5 2 3 4 1 2 4 0 1 5</string>
<key>vertices</key>
<string>254 133 131 256 121 256 3 130 57 76 199 75</string>
<key>verticesUV</key>
<string>503 59 380 182 370 182 252 56 306 2 448 1</string>
<key>anchor</key>
<string>{1,0.5}</string>
</dict>
aliases
spriteOffset
spriteSize
spriteSourceSize
textureRect
textureRotated
triangles
- cocos2d-x 3.9vertices
- cocos2d-x 3.9verticesUV
- cocos2d-x 3.9anchor
- cocos2d-x 3.11The meta data block stores additional information.
<key>metadata</key>
<dict>
<key>format</key>
<integer>3</integer>
<key>realTextureFileName</key>
<string>x.png</string>
<key>size</key>
<string>{504,183}</string>
<key>smartupdate</key>
<string>$TexturePacker:SmartUpdate:.....$</string>
<key>textureFileName</key>
<string>x.png</string>
</dict>
format
realTextureFileName
textureFileName
size
smartupdate