cocos2dx-文件读写 *** 作(txt、plist、xml、json)(五)

cocos2dx-文件读写 *** 作(txt、plist、xml、json)(五),第1张

概述1.用户首选项数据 //用户首选项数据 //存入数据 UserDefault::getInstance()->setStringForKey("huangpu", "Hello Huangpu!"); //读取数据 log("%s",UserDefault::getInstance()->getStringForKey("huangpu","hello wo

1.用户首选项数据

    //用户首选项数据    //存入数据    UserDefault::getInstance()->setStringForKey("huangpu","Hello Huangpu!");    //读取数据    log("%s",UserDefault::getInstance()->getStringForKey("huangpu","hello world").c_str());

2.计时器 *** 作

(1)scheduleUpdate()和unscheduleUpdate()

使用这种方法只能开始结束,可控性不强

具体如下:1.重写update()方法

HelloWorldScene.h文件

    virtual voID update(float dt);

HelloWorldScene.cpp文件

在init()方法中开始更新

    label = LabelTTF::create("haha","CourIEr",30);    addChild(label);    scheduleUpdate();
update()方法实现
//scheduleUpdate()使用方法voID HelloWorld::update(float dt){        label->setposition(label->getposition()+Point(1,1));    if (label->getpositionX()>400) {//调用此方法停止       unscheduleUpdate();    }}
(2)schedule()方法

使用此方法控制性比较强

HelloWorldScene.h文件中声明处理方法

    voID timerHandler(float dt);
HelloWorldScene.cpp文件中实现
voID HelloWorld::timerHandler(float dt){    log(">>>>>>>>>>");}
在init()方法中调用
    //schedule    schedule(schedule_selector(HelloWorld::timerHandler),1);

3.TXT文件读写

    //文件读写    //1.得到实例    auto fu = fileUtils::getInstance();    //写文件    file *f = fopen(fu->fullPathFromrelativefile("data.txt",fu->getWritablePath()).c_str(),"w");    fprintf(f,"Hello huangpu");    fclose(f);        //读文件    Data d = fu->getDataFromfile(fu->fullPathFromrelativefile("data.txt",fu->getWritablePath()));    log("%s",d.getBytes());    log("%s",fu->getWritablePath().c_str());

4.pList文件读取

data.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>haha</key>	<array>		<string>afdaf</string>		<string>helo1</string>	</array>	<key>name</key>	<string>huangpugang</string></dict></pList>
读取 *** 作
    //pList文件读取    fileUtils *fu = fileUtils::getInstance();    ValueMap vm = fu->getValueMapFromfile("data.pList");    log("%s",vm["name"].asstring().c_str());

5.xml文件读取

data.xml中的内容

<data>    <p name="zhangsan" age="haha"/>    <p name="lisi" age="xixi"/>    </data>

首先导入头文件

#include <tinyxml2/tinyxml2.h>

接着开始读取
//    xml文件读取 头文件 <tinyxml2/tinyxml2.h> 有点问题    auto doc = new tinyxml2::XMLdocument();    doc->Parse(fileUtils::getInstance()->getStringFromfile("data.xml").c_str());    auto root = doc->RootElement();    for (auto e=root->FirstChildElement();e ; e->NextSiblingElement()) {        std::string str ;        for (auto attr=e->FirstAttribute(); attr; attr->Next()) {            str+=attr->name();            str+=":";            str+=attr->Value();            str+=",";        }        log("%s",str.c_str());            }

6.Json文件读取

data.Json中的内容

[{"name":"zhangsan","age":20},{"name":"lisi","age":30}]
首先导入头文件
#include <Json/document.h>

读取 *** 作

    //Json文件读取    rAPIdJson::document d;    //0表示默认解析方式    d.Parse<0>(fileUtils::getInstance()->getStringFromfile("data.Json").c_str());    log("%s",d[(int)0]["name"].GetString());
今天就学到这里 总结

以上是内存溢出为你收集整理的cocos2dx-文件读写 *** 作(txt、plist、xml、json)(五)全部内容,希望文章能够帮你解决cocos2dx-文件读写 *** 作(txt、plist、xml、json)(五)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/web/1036245.html

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

发表评论

登录后才能评论

评论列表(0条)

保存