Cocos2d-x 简单数据存储以及抗锯齿

来源:互联网 发布:人力资源网站源码 编辑:程序博客网 时间:2024/04/28 17:56

转自:http://blog.csdn.net/zhy_cheng/article/details/8481366

 

题目是说的简单数据存储,也就是说少量的简单的数据存储,大量复杂的数据应该使用SQLite。

cocos2d-x提供了相应的方法存储简单数据

[cpp] view plaincopyprint?
  1. CCUserDefault::sharedUserDefault()->setStringForKey("name","zhycheng");
  2. CCUserDefault::sharedUserDefault()->setBoolForKey("BOOL",true);
  3. CCUserDefault::sharedUserDefault()->setDoubleForKey("DOUBLE",2.6);
  4. CCUserDefault::sharedUserDefault()->setFloatForKey("FLOAT",1.2f);
  5. CCUserDefault::sharedUserDefault()->setIntegerForKey("INT",3);


这里存储的是基本数据,获得的话就使用相应的get方法。

[cpp] view plaincopyprint?
  1. CCLog("%s",CCUserDefault::sharedUserDefault()->getStringForKey("name","zhy_cheng").c_str());


getStringForKey的第二个参数是在找不到Key的时候使用的值。


文件存储的地址可以使用CCUserDefault::sharedUserDefault()->getXMLFilePath().c_str()获得。


我获到文件存储的地址之后,打开发现如下:

[html] view plaincopyprint?
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <userDefaultRoot>
  3. <string>value2</string>
  4. <integer>11</integer>
  5. <float>2.500000</float>
  6. <double>2.600000</double>
  7. <bool>false</bool>
  8. <name>zhycheng</name>
  9. <BOOL>true</BOOL>
  10. <DOUBLE>2.600000</DOUBLE>
  11. <FLOAT>1.200000</FLOAT>
  12. <INT>3</INT>
  13. </userDefaultRoot>

这里面都是明文,没有加密,游戏玩家就可以改了,这点要注意。


图片抗锯齿的话,可以如下解决:

[cpp] view plaincopyprint?
  1. CCSprite *s=CCSprite::create("xiao.png");
  2. //抗锯齿
  3. s->getTexture()->setAntiAliasTexParameters();
  4. //s->getTexture()->setAliasTexParameters();//不抗锯齿
  5. s->setPosition(ccp(240,160));
  6. addChild(s);
  7. CCActionInterval *ac=CCScaleTo::actionWithDuration(2,5);
  8. s->runAction(ac);


下面看看抗锯齿与不抗锯齿的效果:

原图


放大5被之后的效果


抗锯齿


不抗锯齿

 

原创粉丝点击