首页 > 其他 > 详细

Cocos2D-X之–.plist探究

时间:2014-03-28 22:28:22      阅读:558      评论:0      收藏:0      [点我收藏+]

plist文件是cocos2dx引擎中经常用到的数据存储文件格式,沿袭自cocos2d。

实际上plist文件就是一个xml文件。

在code-x中可以很方便的建立plist文件。

在windows系统中,除了碎图合并工具等可以自动生成plist文件外,其实我们可以用Notepad++编辑器很容易的自己写出plist文件,用以存储配置数据。

首先,为了能够在Notepad++中识别xml语法,推荐安装一个叫做“xml-tools”的插件,它可以帮助我们快速编码,同时具有检查文件编码是否符合相应xml文件规范的功能,非常实用。

好了,切入正题,首先打开一个plist文件,看看里面都有什么东东:

bubuko.com,布布扣
<?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>Root</key>
        <dict>
            <key>total_x</key>
            <string>5</string>
            <key>total_y</key>
            <string>6</string>
            <key>imageidarr</key>
            <array>
                
            </array>
        </dict>
    </dict>
    
</plist>
bubuko.com,布布扣

第一行表明了xml的版本号,以及编码格式,没什么好说的;

第二行给出了该文件支持的特定的对象(plist对象),也是plist文件区别于其他xml文件所在。

从这里可以看出,plist对象的编码规范可以参考http://www.apple.com/DTDs/PropertyList-1.0.dtd

这个地址给出了所谓的DTD(Document Type Definition),具体内容摘抄如下:

bubuko.com,布布扣
<!ENTITY % plistObject "(array | data | date | dict | real | integer | string | true | false )" >
<!ELEMENT plist %plistObject;>
<!ATTLIST plist version CDATA "1.0" >

<!-- Collections -->
<!ELEMENT array (%plistObject;)*>
<!ELEMENT dict (key, %plistObject;)*>
<!ELEMENT key (#PCDATA)>

<!--- Primitive types -->
<!ELEMENT string (#PCDATA)>
<!ELEMENT data (#PCDATA)> <!-- Contents interpreted as Base-64 encoded -->
<!ELEMENT date (#PCDATA)> <!-- Contents should conform to a subset of ISO 8601 (in particular, YYYY ‘-‘ MM ‘-‘ DD ‘T‘ HH ‘:‘ MM ‘:‘ SS ‘Z‘.  Smaller units may be omitted with a loss of precision) -->

<!-- Numerical primitives -->
<!ELEMENT true EMPTY>  <!-- Boolean constant true -->
<!ELEMENT false EMPTY> <!-- Boolean constant false -->
<!ELEMENT real (#PCDATA)> <!-- Contents should represent a floating point number matching ("+" | "-")? d+ ("."d*)? ("E" ("+" | "-") d+)? where d is a digit 0-9.  -->
<!ELEMENT integer (#PCDATA)> <!-- Contents should represent a (possibly signed) integer number in base 10 -->
bubuko.com,布布扣

可以看出,plist对象支持三种集合:array,dict和key(注意,xml是大小写敏感的,所以不要把array写成Array了!)

plist最基本的是key - 键值对,值可以为string,integer等类型;键值对可以放到dict中,array中可以存储string,integer等类型的数据。

好了,其实plist文件就这么简单。

Cocos2D-X之–.plist探究,布布扣,bubuko.com

Cocos2D-X之–.plist探究

原文:http://www.cnblogs.com/cuihui/p/3630842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!