关于 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
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
相关文章推荐
- cocos2dx 3.6 关于场景间传值(UserDefault)、本地存储的基本方法(tinyxml2)
- 关于异步委托的调用与应用场景
- hdu 3635 Dragon Balls 并查集应用记录每个点的转移次数
- 关于位运算在权限配置及类似场景中的应用
- call_user_func_array 应用场景分析
- 恩,自己记录下,关于EVENT的应用
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于cocos3.3移植android后清空UserDefault.xml数据的问题
- Android数据存储——SharedPreferences(记录应用被打开的次数)
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 简单记录,关于android animation的简单应用。
- CCApplicationProtocol(以下纯虚:应用开始函数applicationDidFinishLauncing-负责初始化导演场景、应用进入后台、前台函数、帧数设置函数、得到当前语言、平台
- 关于css应用记录
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于记录报表打印次数的记录
- [iOS]关于在程序里面点击进入app store并自动显示搜索应用,自动显示某个公司的app stroe应用列表
- 关于.net中IL语言的一个应用场景 2014-2-10 17:15 阅读(0)
- 关于saltstack mine自定义收集minion状态及应用场景 推荐
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于集成友盟推送第一次进入应用DeviceToken为空的解决办法。