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

<span style="font-family: KaiTi_GB2312; font-size: 18px; line-height: 26px;"> 本篇博客介紹Cocos2d-x 3.2示例中的UserDefaulstTest,我們在開發中可能需要用到一些默認配置,一般會以xml形式保存。Cocos2d-x爲我們提供了UserDefault類來實現這樣的需求</span>

-- enable log
--[[
UserDefaultTest.lua
用戶默認配置
]]--

local function doTest()
  cclog("********************** init value ***********************")

  -- set default value
  -- 設置默認值
  cc.UserDefault:getInstance():setStringForKey("string", "value1")-- 字符串
  cc.UserDefault:getInstance():setIntegerForKey("integer", 10)-- 整型
  cc.UserDefault:getInstance():setFloatForKey("float", 2.3)--浮點型
  cc.UserDefault:getInstance():setDoubleForKey("double", 2.4)-- 雙精度
  cc.UserDefault:getInstance():setBoolForKey("bool", true)-- 布爾型

  -- print value
  -- 打印獲取到的值
  -- 根據key獲取字符串值
  local ret = cc.UserDefault:getInstance():getStringForKey("string")
  cclog("string is %s", ret)

  -- 根據key獲取雙精度值
  local d = cc.UserDefault:getInstance():getDoubleForKey("double")
  cclog("double is %f", d)

  -- 根據key獲取整型值
  local i = cc.UserDefault:getInstance():getIntegerForKey("integer")
  cclog("integer is %d", i)

  -- 根據key獲取浮點數值
  local f = cc.UserDefault:getInstance():getFloatForKey("float")
  cclog("float is %f", f)

  -- 根據key獲取布爾值
  local b = cc.UserDefault:getInstance():getBoolForKey("bool")
  if b == true then
    cclog("bool is true")
  else
    cclog("bool is false")
  end

  --cc.UserDefault:getInstance():flush()

  cclog("********************** after change value ***********************")

  -- change the value
  -- 修改值
  cc.UserDefault:getInstance():setStringForKey("string", "value2")
  cc.UserDefault:getInstance():setIntegerForKey("integer", 11)
  cc.UserDefault:getInstance():setFloatForKey("float", 2.5)
  cc.UserDefault:getInstance():setDoubleForKey("double", 2.6)
  cc.UserDefault:getInstance():setBoolForKey("bool", false)

  -- 刷新寫入
  cc.UserDefault:getInstance():flush()

  -- print value
  -- 根據key獲取字符串值
  local ret = cc.UserDefault:getInstance():getStringForKey("string")
  cclog("string is %s", ret)

  -- 根據key獲取雙精度值
  local d = cc.UserDefault:getInstance():getDoubleForKey("double")
  cclog("double is %f", d)

  -- 根據key獲取整型值
  local i = cc.UserDefault:getInstance():getIntegerForKey("integer")
  cclog("integer is %d", i)

  -- 根據key獲取浮點數值
  local f = cc.UserDefault:getInstance():getFloatForKey("float")
  cclog("float is %f", f)

  -- 根據key獲取布爾值
  local b = cc.UserDefault:getInstance():getBoolForKey("bool")
  if b == true then
    cclog("bool is true")
  else
    cclog("bool is false")
  end
end

function UserDefaultTestMain()
  local ret = cc.Scene:create()  -- 場景
  local s = cc.Director:getInstance():getWinSize() -- 獲取屏幕大小
  local  label = cc.Label:createWithTTF("UserDefault test see log", s_arialPath, 28)-- 創建標籤
  ret:addChild(label, 0)
  label:setAnchorPoint(cc.p(0.5, 0.5))
  label:setPosition( cc.p(s.width/2, s.height-50) )
  ret:addChild(CreateBackMenuItem())
  doTest()
  return ret
end

日誌消息如下:


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