iOS开发中怎么创建Plist文件

iOS开发中怎么创建Plist文件,第1张

在Xcode中建立一个iOS项目后,会首滑自己产生一个.plist文件,点击时会看见它显示的是类似于excel表格,但是,如果打开方式选择SourceCode,你会看见它其实是一个xml文件。我们会做一个小例子,在这个例子中我们自己建立一个plist文件并填入数据,然后运行时读取这个plist文件,并将数据填写在界面上。首先要知道读取plist文件的方法,一般来说,使用代码NSString*plistPath=[[NSBundlemainBundle]pathForResource:@"listFileName"ofType:@"plist"]NSArray*array=[[NSArrayalloc]initWithContentsOfFile:plistPath]NSDictionary*dictionary=[[NSDictionaryalloc]initWithContentsOfFile:plistPath]已经足够了,此时可以使用NSLog例程查看array和dictionary的内容。不过,有时候游胡受plist文件内容的限制,array内容可能为空。其实,用dictionary就已经足够了,在下面的例子里我们也只用dictionary。1、运行Xcode4.2,新建一个SingleViewApplication,名称为ReadPlistFile,2、新建我们自己的plist文件:File—>New—>NewFile,选择MacOSX下的PropertyList文件名为customInfo,Group选择SupportingFiles。3、单击新建的customInfo.plist,添加数据,注意,Type一项的类型,选择的是Dictionary,以SourceCode打开,显示如下:StudentNameYangSexMaleNumSX_010MentorNameGuSexMale4、为视图添加控件:单击BIDViewController.xib,打开IB,拖几个控件上去,并设置者磨腊好布局等。

一、下载TexturePacker

推荐使用TexturePacker,使用免费功能创建我们的需要的已经足够了,收费功能暂时不需要,下载地址:http://www.codeandweb.com/texturepacker/

下载安装即可。

二、免费使用

使用第三个选项:”Use free“即可,我们用不到收费功能

三、放入小图

将该小图拖入到右边的Sprites窗口里就可以了,再依次拖入其它图片

依次拖入图片后,软件会自动选择空位置将图片安排进去,同时记录图片在图中的位置,细心的读者可能发现有一张图片旋转了,这都是软件为了节省空间自动旋转的,我们不需要管它,同时在代码中引用时也不需要管,plist文件会记录,我们还是只需要引用图片名称就行了。最后将图片导出。

四、导出图片和plist文件

点击Publish,选择文件导出位置就可以了

最后,图片和对应的plist文件就生成好了,我们可以用于Cocos2d开发游戏了……

对于plist文件是如何保存图片位置的?

plist文碧消燃件数一个xml文件我们可以用Eclipse或者记事本打开

[html] view plain copy

<?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文件夹去开发吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12260468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存