码迷,mamicode.com
首页 > 其他好文 > 详细

13--游戏存档

时间:2014-07-12 12:55:01      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   文件   

          保存游戏中的数据时游戏中常用的功能,Cocos2DX为我们提供CCUserDefault类。该类使用xml文件存储数据,并提供几个基本类型的存储接口。

//根据key获取指定的值,重载版本在没有读取到值返回的默认值
    bool    getBoolForKey(const char* pKey);
    bool    getBoolForKey(const char* pKey, bool defaultValue);
    
    int     getIntegerForKey(const char* pKey);
    int     getIntegerForKey(const char* pKey, int defaultValue);
    
    float    getFloatForKey(const char* pKey);
    float    getFloatForKey(const char* pKey, float defaultValue);
  
    double  getDoubleForKey(const char* pKey);
    double  getDoubleForKey(const char* pKey, double defaultValue);
   
    std::string getStringForKey(const char* pKey);
    std::string getStringForKey(const char* pKey, const std::string & defaultValue);

    // 根据key设置值

    void    setBoolForKey(const char* pKey, bool value);
   
    void    setIntegerForKey(const char* pKey, int value);
    
    void    setFloatForKey(const char* pKey, float value);
   
    void    setDoubleForKey(const char* pKey, double value);
   
    void    setStringForKey(const char* pKey, const std::string & value);
    //保存到xml文件调用
    void    flush();

下面是一个简单地测试代码,直接放在HelloWorldScene.cpp中init方法中即可

 

CCUserDefault::sharedUserDefault()->setBoolForKey("isMax",false);
    CCUserDefault::sharedUserDefault()->setDoubleForKey("HP",2.0);
    CCUserDefault::sharedUserDefault()->setFloatForKey("MP",3.0f);
    CCUserDefault::sharedUserDefault()->setIntegerForKey("lv",2);
    CCUserDefault::sharedUserDefault()->setStringForKey("name","hjs");

    bool ismax = CCUserDefault::sharedUserDefault()->getBoolForKey   ("isMax" );
    double hp = CCUserDefault::sharedUserDefault()->getDoubleForKey ("HP"    );
    float mp = CCUserDefault::sharedUserDefault()->getFloatForKey  ("MP"    );
    int lv = CCUserDefault::sharedUserDefault()->getIntegerForKey("lv"    );
    std::string name = CCUserDefault::sharedUserDefault()->getStringForKey ("name"  );

    if(ismax)
        CCLOG("ismax true");
    else
        CCLOG("ismax false");

    CCLOG("hp:%f",hp);
    CCLOG("mp:%f",mp);
    CCLOG("lv:%d",lv);
    CCLOG("name:%s",name.c_str());

    int tmp = CCUserDefault::sharedUserDefault()->getIntegerForKey("tmp",10);
    CCLOG("tmp:%d",tmp);

bubuko.com,布布扣bubuko.com,布布扣

测试过程中并发现不调用flush()方法也能及时写到xml文件中,但还是要记得调用。

13--游戏存档,布布扣,bubuko.com

13--游戏存档

标签:style   blog   http   color   使用   文件   

原文地址:http://www.cnblogs.com/BlueBeauty/p/3832658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!