如何进行Cocos中的plist文件操作-创新互联

这篇文章将为大家详细讲解有关如何进行Cocos中的plist文件操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联公司是一家集网站建设,津市企业网站建设,津市品牌网站建设,网站定制,津市网站建设报价,网络营销,网络优化,津市网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

【唠叨】

    在Cocos中,plist文件是非常常见的配置文件。它是特定格式的xml文件。

    例如:小图打包成大图的纹理图片、制作粒子特效、帧动画等,都用到了plist文件作为配置文件。

  如何创建plist文件,以及读取plist文件中的数据信息。


【plist文件】

    属性列表Property List)文件是一种用来存储序列化后的对象的文件

    属性列表文件的文件扩展名为 .plist,因此通常被称为plist文件。


1、plist文件在Cocos中的应用

    (1)图片纹理的配置信息

        将多个纹理小图片打包成一个大图片,并生成plist文件。用于配置各个小图的名称、尺寸大小、以及在大图中的所在的矩形区域位置等信息。

        可以使用TexturePacker工具,将多个小碎图的纹理打包成一张大图片。

    (2)帧动画的配置信息


        将帧动画的数据信息,生成为plist配置文件。包含每帧间隔、动画重复次数、每一帧所需的图片、每张图片的名称、尺寸大小、以及在大图中所在的矩形区域位置等信息。


    (3)粒子特效的配置信息


        将粒子特效的数据信息,生成为plist配置文件。包含粒子发射器的位置信息、发射器模式、大粒子数量、发射角度、发射速度、纹理贴图等等信息。

    (4)还有其它。


2、plist文件格式

    plist文件为属性列表文件,类似于键值对(key-value)的形式。

    plist文件举例:


//
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>dict</key>
	<dict>
		<key>name</key>
		<string>Alice</string>
		<key>age</key>
		<string>20</string>
	</dict>
	<key>array</key>
	<array>
		<integer>0</integer>
		<integer>1</integer>
		<integer>2</integer>
	</array>
	<key>bool</key>
	<true/>
	<key>data</key>
	<data></data>
	<key>date</key>
	<date>2015-02-16T16:47:11Z</date>
	<key>number</key>
	<integer>123456</integer>
	<key>string</key>
	<string>hello world!</string>
</dict>
</plist>
//

    属性类型有:


        > Dictionary :字典。(子属性列表为:键值对形式)


        > Array     :数组。(子属性列表为:数组值的形式)


        > Boolean   :逻辑值。(true / false)


        > Number   :数字。


        > String    :字符串。


        > Date      :日期。


        > Data      :数据。

    其中,根节点只能为字典或数组。

    并且在字典或数组中,键对应的值依然可以为以上的各个属性类型。


3、创建/编辑plist文件

    在Mac OS系统中,XCode可以直接创建和编辑plist文件。

    当然也可以使用plist编辑软件,或直接使用文本编辑器进行编写。

    XCode中,编辑plist文件非常方便。

    其中,根节点Root,只能为Dictionary、或Array类型。


如何进行Cocos中的plist文件操作

    以上plist文件数据,代码形式如下:


//
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>dict</key>
	<dict>
		<key>name</key>
		<string>Alice</string>
		<key>age</key>
		<string>20</string>
	</dict>
	<key>array</key>
	<array>
		<integer>0</integer>
		<integer>1</integer>
		<integer>2</integer>
	</array>
	<key>bool</key>
	<true/>
	<key>data</key>
	<data></data>
	<key>date</key>
	<date>2015-02-16T16:47:11Z</date>
	<key>number</key>
	<integer>123456</integer>
	<key>string</key>
	<string>hello world!</string>
</dict>
</plist>
//

    我想大家应该能读得懂把。


4、读取plist文件

    接下来讲讲如何读取plist文件的数据信息。


    (1)根节点为Dictionary :使用 FileUtils::getInstance()->getValueMapFromFile(); 读取为一个ValueMap

    (2)根节点为Array      :使用 FileUtils::getInstance()->getValueVectorFromFile(); 读取为一个ValueVector

    使用举例:


//
// 文件路径
	std::string path = "/soft/cocos2d-x-3.4/projects/Demo34/Resources/testPlist.plist";

// 读取plist文件
// 以根节点为字典Dictionary为例
	// 根节点为字典Dictionary , 读取为一个ValueMap
	ValueMap plist = FileUtils::getInstance()->getValueMapFromFile(path);

	// 若根节点为数组Array , 读取为一个ValueVector
	// ValueVector plist = FileUtils::getInstance()->getValueVectorFromFile(path);


// 获取数据
	// 读取 "string"
	CCLOG("string = %s", (plist["string"].asString()).c_str());

	// 读取 "dict" , 也是一个字典ValueMap
	ValueMap& dict = plist["dict"].asValueMap();
	CCLOG("name = %s", (dict["name"].asString()).c_str());
	CCLOG("age  = %s", (dict["age"].asString()).c_str());

	// 读取 "array" , 是一个数组ValueVector
	ValueVector& array = plist["array"].asValueVector();
	for (int i = 0; i < array.size(); i++) {
		Value& value = array[i];
		CCLOG("%d", value.asInt());
	}
//

关于如何进行Cocos中的plist文件操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网站标题:如何进行Cocos中的plist文件操作-创新互联
网页地址:https://www.cdcxhl.com/article2/cejcoc.html

成都网站建设公司_创新互联,为您提供小程序开发营销型网站建设静态网站商城网站微信小程序外贸网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站