Cocos2d-x 3.2Lua示例UserDefaultTest(用戶默認配置)

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  


日誌消息如下:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章