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()方法
使用此方法控制性比较强
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());今天就学到这里