Cocos2d-x 3.2Lua示例UserDefaultTest(用户默认配置)

48 篇文章 0 订阅
33 篇文章 0 订阅

https://blog.csdn.net/wwj_748/article/details/38442625

Cocos2d-x 3.2示例UserDefaultTest(用户默认配置)


   本篇博客介绍Cocos2d-x 3.2示例中的UserDefaulstTest,我们在开发中可能需要用到一些默认配置,一般会以xml形式保存。Cocos2d-x为我们提供了UserDefault类来实现这样的需求。



示例代码:

[javascript]  view plain  copy
  1. -- enable log  
  2. --[[  
  3. UserDefaultTest.lua  
  4. 用户默认配置  
  5. ]]--  
  6.   
  7. local function doTest()  
  8.   cclog("********************** init value ***********************")  
  9.   
  10.   -- set default value  
  11.   -- 设置默认值  
  12.   cc.UserDefault:getInstance():setStringForKey("string""value1")-- 字符串  
  13.   cc.UserDefault:getInstance():setIntegerForKey("integer", 10)-- 整型  
  14.   cc.UserDefault:getInstance():setFloatForKey("float", 2.3)--浮点型  
  15.   cc.UserDefault:getInstance():setDoubleForKey("double", 2.4)-- 双精度  
  16.   cc.UserDefault:getInstance():setBoolForKey("bool"true)-- 布尔型  
  17.   
  18.   -- print value  
  19.   -- 打印获取到的值  
  20.   -- 根据key获取字符串值  
  21.   local ret = cc.UserDefault:getInstance():getStringForKey("string")  
  22.   cclog("string is %s", ret)  
  23.   
  24.   -- 根据key获取双精度值  
  25.   local d = cc.UserDefault:getInstance():getDoubleForKey("double")  
  26.   cclog("double is %f", d)  
  27.   
  28.   -- 根据key获取整型值  
  29.   local i = cc.UserDefault:getInstance():getIntegerForKey("integer")  
  30.   cclog("integer is %d", i)  
  31.   
  32.   -- 根据key获取浮点数值  
  33.   local f = cc.UserDefault:getInstance():getFloatForKey("float")  
  34.   cclog("float is %f", f)  
  35.   
  36.   -- 根据key获取布尔值  
  37.   local b = cc.UserDefault:getInstance():getBoolForKey("bool")  
  38.   if b == true then  
  39.     cclog("bool is true")  
  40.   else  
  41.     cclog("bool is false")  
  42.   end  
  43.   
  44.   --cc.UserDefault:getInstance():flush()  
  45.   
  46.   cclog("********************** after change value ***********************")  
  47.   
  48.   -- change the value  
  49.   -- 修改值  
  50.   cc.UserDefault:getInstance():setStringForKey("string""value2")  
  51.   cc.UserDefault:getInstance():setIntegerForKey("integer", 11)  
  52.   cc.UserDefault:getInstance():setFloatForKey("float", 2.5)  
  53.   cc.UserDefault:getInstance():setDoubleForKey("double", 2.6)  
  54.   cc.UserDefault:getInstance():setBoolForKey("bool"false)  
  55.   
  56.   -- 刷新写入  
  57.   cc.UserDefault:getInstance():flush()  
  58.   
  59.   -- print value  
  60.   -- 根据key获取字符串值  
  61.   local ret = cc.UserDefault:getInstance():getStringForKey("string")  
  62.   cclog("string is %s", ret)  
  63.   
  64.   -- 根据key获取双精度值  
  65.   local d = cc.UserDefault:getInstance():getDoubleForKey("double")  
  66.   cclog("double is %f", d)  
  67.   
  68.   -- 根据key获取整型值  
  69.   local i = cc.UserDefault:getInstance():getIntegerForKey("integer")  
  70.   cclog("integer is %d", i)  
  71.   
  72.   -- 根据key获取浮点数值  
  73.   local f = cc.UserDefault:getInstance():getFloatForKey("float")  
  74.   cclog("float is %f", f)  
  75.   
  76.   -- 根据key获取布尔值  
  77.   local b = cc.UserDefault:getInstance():getBoolForKey("bool")  
  78.   if b == true then  
  79.     cclog("bool is true")  
  80.   else  
  81.     cclog("bool is false")  
  82.   end  
  83. end  
  84.   
  85. function UserDefaultTestMain()  
  86.   local ret = cc.Scene:create()  -- 场景  
  87.   local s = cc.Director:getInstance():getWinSize() -- 获取屏幕大小  
  88.   local  label = cc.Label:createWithTTF("UserDefault test see log", s_arialPath, 28)-- 创建标签  
  89.   ret:addChild(label, 0)  
  90.   label:setAnchorPoint(cc.p(0.5, 0.5))  
  91.   label:setPosition( cc.p(s.width/2, s.height-50) )  
  92.   ret:addChild(CreateBackMenuItem())  
  93.   doTest()  
  94.   return ret  
  95. end  


日志消息如下:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值