转自:http://blog.csdn.net/zhy_cheng/article/details/8481366
题目是说的简单数据存储,也就是说少量的简单的数据存储,大量复杂的数据应该使用SQLite。
cocos2d-x提供了相应的方法存储简单数据
- CCUserDefault::sharedUserDefault()->setStringForKey("name","zhycheng");
- CCUserDefault::sharedUserDefault()->setBoolForKey("BOOL",true);
- CCUserDefault::sharedUserDefault()->setDoubleForKey("DOUBLE",2.6);
- CCUserDefault::sharedUserDefault()->setFloatForKey("FLOAT",1.2f);
- CCUserDefault::sharedUserDefault()->setIntegerForKey("INT",3);
- CCUserDefault::sharedUserDefault()->setStringForKey("name","zhycheng");
- CCUserDefault::sharedUserDefault()->setBoolForKey("BOOL",true);
- CCUserDefault::sharedUserDefault()->setDoubleForKey("DOUBLE",2.6);
- CCUserDefault::sharedUserDefault()->setFloatForKey("FLOAT",1.2f);
- CCUserDefault::sharedUserDefault()->setIntegerForKey("INT",3);
这里存储的是基本数据,获得的话就使用相应的get方法。
- CCLog("%s",CCUserDefault::sharedUserDefault()->getStringForKey("name","zhy_cheng").c_str());
- CCLog("%s",CCUserDefault::sharedUserDefault()->getStringForKey("name","zhy_cheng").c_str());
getStringForKey的第二个参数是在找不到Key的时候使用的值。
文件存储的地址可以使用CCUserDefault::sharedUserDefault()->getXMLFilePath().c_str()获得。
我获到文件存储的地址之后,打开发现如下:
- <?xml version="1.0" encoding="utf-8"?>
- <userDefaultRoot>
- <string>value2</string>
- <integer>11</integer>
- <float>2.500000</float>
- <double>2.600000</double>
- <bool>false</bool>
- <name>zhycheng</name>
- <BOOL>true</BOOL>
- <DOUBLE>2.600000</DOUBLE>
- <FLOAT>1.200000</FLOAT>
- <INT>3</INT>
- </userDefaultRoot>
- <?xml version="1.0" encoding="utf-8"?>
- <userDefaultRoot>
- <string>value2</string>
- <integer>11</integer>
- <float>2.500000</float>
- <double>2.600000</double>
- <bool>false</bool>
- <name>zhycheng</name>
- <BOOL>true</BOOL>
- <DOUBLE>2.600000</DOUBLE>
- <FLOAT>1.200000</FLOAT>
- <INT>3</INT>
- </userDefaultRoot>
这里面都是明文,没有加密,游戏玩家就可以改了,这点要注意。
图片抗锯齿的话,可以如下解决:
- CCSprite *s=CCSprite::create("xiao.png");
- //抗锯齿
- s->getTexture()->setAntiAliasTexParameters();
- //s->getTexture()->setAliasTexParameters();//不抗锯齿
- s->setPosition(ccp(240,160));
- addChild(s);
- CCActionInterval *ac=CCScaleTo::actionWithDuration(2,5);
- s->runAction(ac);
- CCSprite *s=CCSprite::create("xiao.png");
- //抗锯齿
- s->getTexture()->setAntiAliasTexParameters();
- //s->getTexture()->setAliasTexParameters();//不抗锯齿
- s->setPosition(ccp(240,160));
- addChild(s);
- CCActionInterval *ac=CCScaleTo::actionWithDuration(2,5);
- s->runAction(ac);
下面看看抗锯齿与不抗锯齿的效果:
原图
放大5被之后的效果
抗锯齿
不抗锯齿