Cocos2d-x3.2 UserDefault用户数据

//GameScene.h

#include "cocos2d.h"

USING_NS_CC;

class GameScene : public cocos2d::Layer
{
public:
    static cocos2d::Scene* createScene();
    
    virtual bool init();
    
    void menuCallback(Ref* pSender);
    
    CREATE_FUNC(GameScene);
    
private:        //注意不能用auto关键字
    Size size;
    Sprite *sprite;
};

 

 

//GameScene.cpp

//  Created by Jacedy on 14-8-11.

#include "GameScene.h"

USING_NS_CC;

cocos2d::Scene* GameScene::createScene()
{
    auto scene = Scene::create();   //创建一个场景
    auto layer = GameScene::create();   //创建一个图层
    scene->addChild(layer);
    return scene;
}

//初始化当前的图层
bool GameScene::init()
{
    if(!Layer::init())      //初始化父类
        return false;
    
    //获取屏幕大小
    size = Director::getInstance()->getVisibleSize();
    //auto size = Director::getInstance()->getWinSize();
    //添加一个图片精灵
    sprite = Sprite::create("OnePiece_1.png");
    sprite->setPosition(Vec2(size.width/2, size.height/2));
    this->addChild(sprite);
    
    //新建数据
    UserDefault::getInstance()->setBoolForKey("BOOL", true);
    UserDefault::getInstance()->setFloatForKey("Float", 12.18);
    UserDefault::getInstance()->setStringForKey("String", "Jacedy");
    
    //保存数据
    UserDefault::getInstance()->flush();
    
    bool b = UserDefault::getInstance()->getBoolForKey("BOOL", false);      //第二个参数为初始化内容
    float f = UserDefault::getInstance()->getFloatForKey("Float", 0.0f);
    std::string s = UserDefault::getInstance()->getStringForKey("String", "null");
    
    //打印输出
    log("b = %d", b);
    log("f = %f", f);
    log("s = %s", s.c_str());
    
    //获取文件路径
    //FileUtils::getInstance()->getWritablePath();
    
    //判断XML文件是否存在
    //UserDefault::getInstance()->isXMLFileExit();
    
    return true;
}

void GameScene::menuCallback(Ref* pSender)
{
    
}

备注:使用UserDefault保存最高分、声音等一些数据,当用户结束了游戏重新打开时,如果使用 isXMLFileExit() 来判断XML文件是否存在,那么系统就会初始化XML文件,里面原来的数据也就清除了。所以不能用isXMLFileExit() ,解决办法:通过直接判断一个键值是否存在来获取XML文件数据,代码如下:

bool MenuLayer::init()
{
if(!Layer::init())      //初始化父类
 return false;

size = Director::getInstance()->getVisibleSize();

//初始化最高分数
if(!UserDefault::getInstance()->getBoolForKey("isExit", false))
{
 UserDefault::getInstance()->setBoolForKey("isExit",true);

 m_bestscore = 0;
 UserDefault::getInstance()->setIntegerForKey("m_bestscore", 0);
 //第一次运行时,如果XML文件不存在就会新建
 UserDefault::getInstance()->flush();     
}

return true;
}

时间: 2024-10-24 14:43:26

Cocos2d-x3.2 UserDefault用户数据的相关文章

网站用户数据的九大分析法则

网站用户数据的九大分析法则 不管你从事什么行业什么职业只有把握住数据才能把握住用户.对于网站也是一样,我们只有把握了网站的数据才能正确的分析出用户的行为习惯,喜爱和用户真正所需要的东西.话不多说,小编接着介绍如何正确分析网站用户数据. 一.用户的来源. 1.我们网站的用户都是从哪些地方过来的?这项数据可以从网站后台中分析得出. 2.我们网站的用户都是从哪些省份过来的?这项数据可以从网站后台的IP地址中分析得出. 二.网站访问次数. 1.网站每月访问次数.这项数据可以从网站后台中分析得出. 2.网

小米推进国际化:海外用户数据移至国外服务器

DoNews 10月23日消息 (记者 张琳)小米全球副总裁雨果·巴拉通过http://www.aliyun.com/zixun/aggregation/33868.html">Goolge++发布声明称,小米公司海外用户数据迁出中国,移至美国及新加坡. 据介绍,国外用户的所有购物数据预计在本月底从北京的服务器上移出,而个人资料.短信和其它服务的数据转移应该在今年底完成.中国用户的信息仍将保留在北京服务器上. 雨果·巴拉称,将海外用户移出中国的原因有两点,一方面,数据移至海外服务器后,将能

mysql-关于2个表的用户数据同步问题

问题描述 关于2个表的用户数据同步问题 我有2个数据库(A,B),A,B分别在不同的服务器上,A表代表的是商城数据库,B表代表的是另外一个商城的数据库,A,B分别有一个用户表.2个表的字段是不一致的, 现在业务上需要的是,同一个用户名可以登陆2个商城,请教下,应该怎么做 解决方案 想来遇到这种困难的话,程序一定不是你写的,源码也不在手中了,想正常修改程序也自然是不可能了 而两台数据库之间互通,比如通过VPN连接的话,自然也是困难重重的 这种情况我曾经遇到过类似的 我当时的解决方法是修改两个数据库

金融安全资讯精选 2017年第七期:Equifax 泄漏 1.43 亿用户数据,Struts2 REST插件远程执行命令漏洞全面分析,阿里云护航金砖五国大会

   [金融安全动态] 美国信用评分公司Equifax 被攻击,泄漏 1.43 亿用户数据.点击查看原文   概要:泄露的信息包括用户社会安全码.驾照信息.生日信息.信用卡数据等.据SEC(U.S. Securities and Exchange Commission)的文件,三位Euifax董事已经售出了"一小部分"所持股票.Equifax 称黑客利用了 Web 应用的漏洞访问了某些文件,Apache Struts 受到的怀疑最多.Apache Struts 项目今年爆出了两个漏洞,

php实现爬取和分析知乎用户数据_php实例

背景说明:小拽利用php的curl写的爬虫,实验性的爬取了知乎5w用户的基本信息:同时,针对爬取的数据,进行了简单的分析呈现. php的spider代码和用户dashboard的展现代码,整理后上传github,在个人博客和公众号更新代码库,程序仅供娱乐和学习交流:如果有侵犯知乎相关权益,请尽快联系本人删除. 无图无真相 移动端分析数据截图 pc端分析数据截图 整个爬取,分析,展现过程大概分如下几步,小拽将分别介绍 curl爬取知乎网页数据 正则分析知乎网页数据 数据数据入库和程序部署 数据分析

PHP爬虫之百万级别知乎用户数据爬取与分析_php实例

这次抓取了110万的用户数据,数据分析结果如下: 开发前的准备 安装Linux系统(Ubuntu14.04),在VMWare虚拟机下安装一个Ubuntu: 安装PHP5.6或以上版本: 安装MySQL5.5或以上版本: 安装curl.pcntl扩展. 使用PHP的curl扩展抓取页面数据 PHP的curl扩展是PHP支持的允许你与各种服务器使用各种类型的协议进行连接和通信的库. 本程序是抓取知乎的用户数据,要能访问用户个人页面,需要用户登录后的才能访问.当我们在浏览器的页面中点击一个用户头像链接

路由-请问如何让用户数据包都通过虚拟网卡发送到实网卡再发送出去

问题描述 请问如何让用户数据包都通过虚拟网卡发送到实网卡再发送出去 在内核中添加了一个虚拟网卡,如何设置才可以让上层的数据包都发往虚拟网卡,再通过虚拟网卡发往实网卡,最后发送出去.让上层认为虚拟网卡就是实网卡,所有数据都发往虚拟网卡.我想的是修改默认路由表,但是不知道行不行的通,另外如果修改路由表的话,是不是每次开机都要重新修改? 解决方案 装一个虚拟机可以解决此问题. 解决方案二: 虚拟机网卡的NAT模式.

UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息

原文:UWP 应用获取各类系统.用户信息 (1) - 设备和系统的基本信息.应用包信息.用户数据账户信息和用户账户信息 应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开.本篇介绍获取设备和系统的基

斯诺登专访:许多网络公司收集用户数据

北京时间12月14日上午消息,在接受Periscope直播采访的问答环节,"棱镜门"告密者爱德华·斯诺登指出,许多网络公司继续在收集用户数据,创建一个"量化的世界",并为政府提供更多监管机会. "如果你正在被跟踪,这件事首先应该征得你的同意,你应该明白.应该知道,你应该意识到并能够随时改变,"他说. ▲"棱镜门"告密者爱德华·斯诺登 斯诺登承认,收集你的通信(即你的通话内容)不同于收集元数据(即你的通话对象和持续时间).对于一