您的位置:首页 > 其它

关于 UserDefault 记录进入场景次数的应用

2016-09-21 19:57 260 查看
此方法错误,因为userDefault实在编写xml文件,当第一次进入的时候就已经写入进去,所以无论创建多少新号,都没用

local enterScene = cc.UserDefault:getInstance():getBoolForKey("enterScene")

            if enterScene == true  then

                cc.UserDefault:getInstance():setBoolForKey("enterScene",false)

  

                print("第一次进入")

            else

                print("PX")

            end

用自己封装的方法:通过获取登录名的方法判断

function setBoolForKey(k,v)

    if not k then

        return

    end

    local key=GameData.loadKey(k);

    CCUserDefault:getInstance():setBoolForKey(key.."_"..k,v)

    CCUserDefault:getInstance():flush()

end

function getBoolForKey(k,default)

    local key = nil;

    if not k  then

        return nil

    end

    key=GameData.loadKey(k);

    if default then

        return CCUserDefault:getInstance():getBoolForKey(key.."_"..k,default)

    end

    return CCUserDefault:getInstance():getBoolForKey(key.."_"..k)

end

function loadKey(k)

    local key = nil;

    if string.find(k, "login")==1 then

        key = "";

    else

        if not GameData.currentServer then

            GameData.currentServer = "";

        end

        key=GameData.currentServer.."_"..lingzhuManager.uerId

    end

    return key;

end

--正确的执行方法

local enterScene = GameData.getBoolForKey("enterScene")

            if enterScene == false then

                GameData.setBoolForKey("enterScene",true)

                print("第一次进入")

            else

                print("PX")

            end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐