Cocos2D-X之–.plist探究

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

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

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

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

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

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

<?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>

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

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

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

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

<!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 -->

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

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

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

 

参考:

《学习札记之cocos2d-x2.1.1实现读取.plist文件(使用数组CCArray)》

http://www.myexception.cn/operating-system/1259133.html

posted @ 2014-03-28 15:48  RobinCui  阅读(630)  评论(0编辑  收藏  举报