灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3275回复:0

[Cocos2d-x游戏引擎开发笔记]简单数据存储以及抗锯齿

楼主#
更多 发布于:2013-01-10 15:43
题目是说的简单数据存储,也就是说少量的简单的数据存储,大量复杂的数据应该使用SQLite。
 
cocos2d-x提供了相应的方法存储简单数据
 
 
[cpp]
             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方法。
 
 
[cpp]
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()获得。
 
 
 
 
我获到文件存储的地址之后,打开发现如下:
 
 
[html]
<?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>这里面都是明文,没有加密,游戏玩家就可以改了,这点要注意。
 
 
 
 
图片抗锯齿的话,可以如下解决:
 
 
[cpp]
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);
下面看看抗锯齿与不抗锯齿的效果:
 
原图
 

图片:20130109082028901.png


 
 
放大5被之后的效果
 

图片:20130109082029763.png


抗锯齿

图片:20130109082029525.png


 
 
 
 
不抗锯齿

喜欢0 评分0
游客

返回顶部