位置: 编程技术 - 正文

http://www.2cto.com/kf/201402/280576.html

编辑:rootadmin

推荐整理分享http://www.2cto.com/kf/201402/280576.html,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Cocos2dx 3.0 提高篇(十一) xml文档的读取与调用

http://www.2cto.com/kf/201402/280576.html

假设有一个名为 label.xml 的文档,内容如下:

?<!--?xml version="1.0"encoding="UTF-8"?--> <plist version="1.0"> <dict> <key>id</key> <string></string> <key>info</key> <string>风一般的男纸</string> </dict> <dict> <key>id</key> <string></string> <key>info</key> <string>注定是寂寞的</string> </dict></array></plist>步骤如下:1、读取xml文档,将读取到的内容放到ValueVector上。2、通过id获取info里的内容;3、将info里的内容显示到label中。?1 代码实现:1、读取?1ValueVector txt_vec = FileUtils::getInstance()->getValueVectorFromFile("label.xml");这里有两个要点,一个是ValueVector,这是啥东东?我只能回答在,在CCValue.h里,有这么一行代码 :?1typedef std::vector<value> ValueVector;</value>恩,人艰不拆;第二个要点是用 getValueVectorFromFile(FileName)读取xml文档...

2、提取数据首先提取 id ,因为id和它对应的&#;是一对键&#;,所以可以用Map来存储它们:

?1auto txt_map = txt_vec.at(0).asValueMap();放到Map中即可用Map的方法读取键为”id"的&#;是多少:?1intid_int = txt_map.at("id").asInt();最后就是做出判断,如果id的&#;为的话,那么提取相应的键为 info 的&#;:?if(id_int == ){ auto label_str = txt_map.at("info").asString();}恩,过程就是这样;3、将整理好的代码贴出来?ValueVector txt_vec = FileUtils::getInstance()->getValueVectorFromFile("label.xml");//读取xml文档,放入ValueVector中 for( auto& e : txt_vec){ auto txt_map = e.asValueMap();//将键&#;转化成Map&#;式,放入txt_map中 intid_int = txt_map.at("id").asInt();//获取id if(== id_int) { auto label_str = txt_map.at("info").asString();//获取info的&#; auto label1 = LabelTTF::create(label_str,"Arial",); label1->setPosition(Point(,)); this->addChild(label1,2); } elseif(== id_int) { auto label_str = txt_map.at("info").asString(); auto label1 = LabelTTF::create(label_str,"Arial",); label1->setPosition(Point(,)); this->addChild(label1,2); }}如果有对Vector 、 Map使用不大了解的人,可以参考我之前写的博客:

Vector:

[置顶] Cocos2d-x《雷电大战》(5)-单例模式英雄飞机闪亮登场! 林炳文Evankaka原创作品。转载请注明出处

[cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--地图(二) 接上文,添加地图,在地图层直接添加即可,我是将AnchorPoint设置在(0,0),方便计算坐标mapSprite=Sprite::createWithSpriteFrameName(String::createWithFormat(Stage_%d.png,l

Cocos2dx技术(三)——cocos2dx基本概念(四)动作 1、Action类的作用:Action对象可以随时间改变Node的属性,任何一个以Node为基类的对象都持有一个可执行动作的Action对象。2、Cocos2dx里面的By与To的区别By

本文链接地址:https://www.jiuchutong.com/biancheng/368914.html 转载请保留说明!

上一篇:2015-04-05(20150405农历)

下一篇:[置顶] Cocos2d-x《雷电大战》(5)-单例模式英雄飞机闪亮登场!([置顶]游戏名:chivalry2)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络