上一篇提到plist文件在cocos2d中的使用,那么如何制作plist文件呢?
一、下载TexturePacker
推荐使用TexturePacker,使用免费功能创建我们的需要的已经足够了,收费功能暂时不需要,下载地址:http://www.codeandweb.com/texturepacker/
下载安装即可。
二、免费使用
使用第三个选项:”Use free“即可,我们用不到收费功能
三、放入小图
将该小图拖入到右边的Sprites窗口里就可以了,再依次拖入其它图片
依次拖入图片后,软件会自动选择空位置将图片安排进去,同时记录图片在图中的位置,细心的读者可能发现有一张图片旋转了,这都是软件为了节省空间自动旋转的,我们不需要管它,同时在代码中引用时也不需要管,plist文件会记录,我们还是只需要引用图片名称就行了。最后将图片导出。
四、导出图片和plist文件
点击Publish,选择文件导出位置就可以了
最后,图片和对应的plist文件就生成好了,我们可以用于Cocos2d开发游戏了……
我制作的:
对于plist文件是如何保存图片位置的?
plist文件数一个xml文件我们可以用Eclipse或者记事本打开
<?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>character1.png</key> <dict> <key>frame</key> <string>{{2,2},{68,90}}</string> <key>offset</key> <string>{1,-5}</string> <key>rotated</key> <false/> <key>sourceColorRect</key> <string>{{15,10},{68,90}}</string> <key>sourceSize</key> <string>{96,100}</string> </dict> <key>character2.png</key> <dict> <key>frame</key> <string>{{72,2},{76,88}}</string> <key>offset</key> <string>{2,-6}</string> <key>rotated</key> <false/> <key>sourceColorRect</key> <string>{{17,12},{76,88}}</string> <key>sourceSize</key> <string>{106,100}</string> </dict> <key>character3.png</key> <dict> <key>frame</key> <string>{{150,2},{76,100}}</string> <key>offset</key> <string>{8,4}</string> <key>rotated</key> <true/> <key>sourceColorRect</key> <string>{{23,1},{76,100}}</string> <key>sourceSize</key> <string>{106,110}</string> </dict> </dict> <key>metadata</key> <dict> <key>format</key> <integer>2</integer> <key>realTextureFileName</key> <string>picture.png</string> <key>size</key> <string>{252,94}</string> <key>smartupdate</key> <string>$TexturePacker:SmartUpdate:4d9f9052f72b479531d5262ac554d5db:c14790402c7beb896b15e46c664da0c0:aee6d656c46f4f58abed154134950510$</string> <key>textureFileName</key> <string>picture.png</string> </dict> </dict> </plist>
作者也不是很明白代码的意思,我们一起来解读一下。
不难看出,一个<key>对应一个值,这个值可能是矩形区域<dict>,也可能是字符串<string>,按照这个方法,这样我们拿第一张图character1.png来解析
character1.png: 属性 // 小图的名称,在代码中可以直接通过该名称引用图片
frame: {{2,2},{68,90}} // 图片所在区域左上角和右下角的坐标
offset: {2,-6} // 未知
rotated: false // 是否旋转,可以看到第三张的值为true
sourceColorRect: {{23,1},{76,100}} // 未知
sourceSize: {106,110} // 未知
还望知道的读者分享一下经验
好了,将图片和plist文件导入到assets文件夹去开发吧!